编辑
2025-11-27
算法题
00

目录

p1009 python3 题解

题目描述

用高精度计算出 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之类的做终止条件

本文作者:Bond

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 未经许可不可尚自转发本站内容 许可协议。转载请注明出处!