描述
输入数正整数m,输出0! + 1! +...+m!的计算结果。
样例
输入
5
输出
154
代码:
m = int(input())
result = 1
factorial = 1
for i in range(1, m + 1):
factorial *= i
result += factorial
print(result)
# 法2
def factorial(n):
"""计算n的阶乘"""
if n == 0 or n == 1:
return 1
else:
return n * factorial(n-1)
# 获取用户输入的正整数m
m = int(input("请输入一个正整数m:"))
# 计算0! + 1! + ... + m!
result = 0
for i in range(m+1):
result += factorial(i)
# 输出结果
print("0! + 1! + ... + {}! = {}".format(m, result))
代码描述:
解析法1
m = int(input())
:使用input()
函数获取用户输入的一个字符串,并通过int()
函数将其转换为整数类型,存储在变量m
中。result = 1
:初始化变量result
为1,用于记录计算结果。factorial = 1
:初始化变量factorial
为1,用于计算阶乘。for i in range(1, m + 1):
:使用range()
函数生成从1到m(包括m)的整数序列,然后进行迭代,将每个迭代的值依次赋给变量i
。factorial *= i
:对当前的factorial
乘以迭代的值i
,即更新factorial
的值为factorial * i
,相当于计算阶乘。result += factorial
:将当前的factorial
加到result
中,相当于将每个阶乘值累加到result
中。print(result)
:打印最终的计算结果。