本题在洛谷的P1009:本题
注意啦:这道题需要用到阶乘知识可以去:前面有阶乘的方法
[NOIP1998 普及组] 阶乘之和 题目描述用高精度计算出 S = 1 ! + 2 ! + 3 ! + ⋯ + n ! S = 1! + 2! + 3! + cdots + n! S=1!+2!+3!+⋯+n!( n ≤ 50 n le 50 n≤50)。
其中 ! 表示阶乘,例如: 5 ! = 5 × 4 × 3 × 2 × 1 5! = 5 times 4 times 3 times 2 times 1 5!=5×4×3×2×1。
输入格式一个正整数 n n n。
输出格式一个正整数 S S S,表示计算结果。
样例 #1 样例输入 #13样例输出 #1
9提示
【数据范围】
对于 100 % 100 % 100% 的数据, 1 ≤ n ≤ 50 1 le n le 50 1≤n≤50。
思路- 1、要用到 阶乘
- 2、输入n
- 3、for循环每个数,用一个函数 f(n) 求n的阶乘,再用个x累加
- 4、输出x
- 5、注意事项
有可能会爆掉,建议用long long int
C/C++/JS可能会错误,因为需要高精度,这个可以自己添加一下,以后我会发文章
Python本身运算符使用高精度的,所以可以不需要
n = int(input())
res = 0
def jc(n):
if n <= 1:
return 1
else:
return (n*jc(n-1))
for i in range(1,n+1):
res+=jc(i)
print(res)
看到这了,还不点个赞 ~


![P1009 [NOIP1998 普及组] 阶乘之和 P1009 [NOIP1998 普及组] 阶乘之和](http://www.mshxw.com/aiimages/31/994654.png)
