循环~n!求和
题目描述
求Sn=1!+2!+3!+4!+5!+…+n!之值,其中n是一个数字。
输入
n
输出
和
1 #include<stdio.h> 2 int main(){ 3 int n; 4 long long int sum=0; 5 int tem=1; 6 scanf("%d",&n); 7 // int i,j; 8 // for( i=1;i<=n;i++){ 9 // for(j=1;j<=i;j++){ 10 // j*=j; 11 // } 12 // //printf("%d\n",j); 13 // sum=sum+j; 14 // } 15 // printf("%d",sum); 16 int i=1; 17 while(i<=n){ 18 tem=tem*i; 19 sum=sum+tem; 20 i++; 21 } 22 printf("%lld",sum); 23 return 0; 24 }
solution:
1 每后一个阶乘都在前一个的基础上多乘了一个本轮的数字,循环直接乘每一轮多出来的那个数字不用从头开始
2 注意结果变量用的是long long型
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了