题目描述
用高精度计算出 S=1!+2!+3!+⋯+n!S=1!+2!+3!+⋯+n!(n≤50n≤50)。
其中 !
表示阶乘,定义为 n!=n×(n−1)×(n−2)×⋯×1n!=n×(n−1)×(n−2)×⋯×1。例如,5!=5×4×3×2×1=1205!=5×4×3×2×1=120。
输入格式
一个正整数 nn。
输出格式
一个正整数 SS,表示计算结果。
输入输出样例
输入 #1复制
3
输出 #1复制
9
题解
思路:使用递归编写一个阶乘的函数 再在主函数调用函数进行求和
代码如下:
def jiecheng(n): if n == 0 or n == 1: return 1 else: return n*jiecheng(n-1) s = 0 n = int(input()) for i in range(1,n + 1): s = s + jiecheng(i) print(s)
注意编写递归时要加上终止条件 递归本身就自带类似循环的效果,所以再递归中最好不要使用for while之类的做终止条件