CodeChefの「Sum of Product 2」問題の解法


問題の要件: 与えられた整数Nに対して、1からNまでの数の積の合計を求めるプログラムを作成する必要があります。つまり、1 2 3 ... Nの値を計算し、その値を返す必要があります。

解法1: ループを使用する方法 最も基本的な解法は、ループを使用して1からNまでの数を掛け合わせる方法です。以下にコード例を示します。

def sum_of_product(N):
    result = 1
    for i in range(1, N+1):
        result *= i
    return result
N = int(input("Nの値を入力してください: "))
print("1からNまでの積の合計は:", sum_of_product(N))

解法2: 再帰を使用する方法 別の方法として、再帰を使用して積を計算する方法があります。以下にコード例を示します。

def product_recursive(N):
    if N == 1:
        return 1
    else:
        return N * product_recursive(N-1)
N = int(input("Nの値を入力してください: "))
print("1からNまでの積の合計は:", product_recursive(N))