计算1! + 2! + 3! + … + n!
平常我们都习惯了用两个for循环或者是定义一个fact(i)
但fact函数中的实现也是一个for循环
所以实质上都是两个for循环
一个for计算一个数的阶乘
一个for进行加和
但是阶乘的计算具有连续性, 即一个数的阶乘只需要在前一个数的阶乘的基础上再乘上一个数
即4的阶乘等于3的阶乘乘以4
所以可以用一个for循环解决问题
int sum = 0;
int item = 1;
for(int i = 1; i <= n; i++){
item = item * i;
sum += item;
}
如此即可
在前面一个阶乘已经算出来的基础上, 只需要乘以一个更新过的i, 就可以得到下一个数的阶乘