python計算階乗和(1!+2!+3!+...+n!)


方法1:whileサイクルを用いて計算する
n = int(input())
jie = 1
sum = 0
i = 1
while n >= i:
    jie = jie * i
    sum = sum + jie
    i = i + 1
print(sum)

方法2:再帰関数を用いて階乗法を呼び出して和を求める(ここでnの値は1~40の間である)
def jie(n):
    if n == 1:
        return 1
    else:
        return n*jie(n-1)
n = int(input())
sum = 0
if n < 1 or n > 40:
    print("       ")
else:
    for i in range(1,n+1):
        sum = sum + jie(i)
    print(sum)