![Python实现:P1009 [NOIP1998 普及组] 阶乘之和,第1张 Python实现:P1009 [NOIP1998 普及组] 阶乘之和,第1张](/aiimages/Python%E5%AE%9E%E7%8E%B0%EF%BC%9AP1009+%5BNOIP1998+%E6%99%AE%E5%8F%8A%E7%BB%84%5D+%E9%98%B6%E4%B9%98%E4%B9%8B%E5%92%8C.png)
题目源代码math.factorial
题目 源代码
#法1:利用math的factorial模块进行计算
import math
Sum = 0
num = int(input())
for i in range(1, num + 1):
F = math.factorial(i)
Sum += F
print(Sum)
#法2:利用递归和列表求和
def recursion(n): # '定义递归函数实现求阶乘功能'
if n == 1:
return 1
else:
return n * recursion(n - 1)
n = int(input())
list = [] # 定义一个空的列表,将调用递归函数生成的阶乘值追加到列表
for i in range(1, n + 1):
list.append(recursion(i)) # 将调用递归函数生成的阶乘值追加到列表
print(sum(list)) # 列表求和
#法3:递归实现阶乘并依次求和
def recursion(n): # '定义递归函数实现求阶乘功能'
if n == 1:
return 1
else:
return n * recursion(n - 1)
n = int(input())
Sum = 0
for i in range(1, n+1):
Sum += recursion(i)
print(Sum)
math.factorial
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)