菜鸟IT的博客 >> Python
实战100例 - 第25例 - 题面意思:求1+2!+3!+....N!的和,先写个递归函数求单个阶乘,然后for循环,把i传入函数,并累加
# -*- coding: utf-8 -*-
# 题面意思:求1+2!+3!+....N!的和
# 程序思路,先写1个求阶乘的函数,然后for循环累加即可。
m=int(input("输入你要求阶乘的数字N:"))
JieChengZongHe=0
# 先写1个求阶乘的递归函数
def DiGuiJieCheng(n):
if(n==0)or(n==1):
return 1
else:
return n*DiGuiJieCheng(n-1)
# 然后for循环求和
for i in range(1,m+1):
JieChengZongHe=JieChengZongHe+DiGuiJieCheng(i)
print("N为:",m,"时的阶乘总和是:",JieChengZongHe)
——————
输出结果:
输入你要求阶乘的数字N:20
N为: 20 时的阶乘总和是: 2561327494111820313
进程已结束,退出代码0
菜鸟IT博客[2022.01.23-20:58] 访问:287