类型:简单循环
描述
输入一个正整数n,计算 1!+2!+3!+...+n! 的和并输出。
输入
一个正整数n
输出
从1到n每个数的阶乘的和
示例
输入:5
输出:153
参考答案
# 计算1!+2!+3!+。。。+n!
def sum_factorial(n):
total, t = 1, 1
for i in range(2, n + 1):
t = t * i
total = total + t
return total
n = int(input())
print(sum_factorial(n))
# 函数式编程
def factorial(n): # 阶乘函数
fact = 1
for i in range(1, n + 1):
fact = fact * i
return fact
def sum_factorial1(n): # 累加函数
total = 0
for i in range(1, n + 1):
total = total + factorial(i)
return total
print(sum_factorial1(n))
# 使用内置函数更简单,但效率略低,规模大时有体现
# from math import factorial
# print(sum(map(factorial,range(1,n+1))))