一个for循环计算阶乘和

计算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, 就可以得到下一个数的阶乘

作者:Evinci

出处:https://www.cnblogs.com/evinci/p/17123948.html

版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。

posted @   EEvinci  阅读(161)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
more_horiz
keyboard_arrow_up dark_mode palette
选择主题
点击右上角即可分享
微信分享提示