原题链接:[编程入门]阶乘求和
解题思路:这题主要是求每个数的阶乘以及阶乘求和,这个想必对各位大佬来说肯定是轻而易举,但对于我这个新人小白来说还需思考一会儿,想出来的也不是最简洁的算法……一开始我把变量都定义成int型,上传了几次都是错的,折腾了好久,把两个变量改成long long型才成功……原因应该是int型容不下变量的大小了吧。
注意事项:变量要定义成long long型,输出的时候记得要用“%lld”来输出!
参考代码:
#include <stdio.h>
int main()
{
long long Sn,m;
int n,i,j;
while((scanf("%d",&n)==1) && n>0 && n<=20)
{
Sn=1;
for(i=0;i<n-1;i++)
{
m = 1;
for(j=n-i;j>0;j--)
{
m=m*j;
}
Sn=Sn+m;
}
printf("%lld\n",Sn);
}
return 0;
}0.0分
0 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复