阶乘求和
题目描述
求Sn=1!+2!+3!+4!+5!+…+n!之值,其中n是一个数字(n不超过20)。
输入
n
输出
Sn的值
样例输入复制
5
样例输出复制
153
解题思路:
先逐个进行求阶乘再进行累加
思路确实简单,不过,阶乘很容出现数值溢出的问题,所以我们要扩大数值的存储范围
1 2 3 4 5 6 7 8 9 10 |
|
这些基础知识后我们就可以解题了
为了减少程序的计算次数,我们可以看代码的第九行
这里的t代表的是每一个循环的阶乘结果
例如:第二次循环的时候,也就是2! 他是等于第一次的阶乘结果 乘一个 当前当前的循环次数也就是2
第三次循环的时候,3!= 2! * 3
第四次循环, 4!=3! * 4
...............
参考代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
|