解题思路:这题主要是求每个数的阶乘以及阶乘求和,这个想必对各位大佬来说肯定是轻而易举,但对于我这个新人小白来说还需思考一会儿,想出来的也不是最简洁的算法……一开始我把变量都定义成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语言训练-求1+2!+3!+...+N!的和 (C语言代码)浏览:790 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:476 |
剪刀石头布 (C语言代码)浏览:754 |
【计算球体积】 (C语言代码)浏览:1106 |
C语言程序设计教程(第三版)课后习题3.7 (C语言代码)浏览:327 |
母牛的故事 (C语言代码)浏览:716 |
有关字符,字符串的输入输出函数说明浏览:479 |
程序员的表白 (C语言代码)浏览:598 |
输入输出格式练习 (C语言代码)浏览:850 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:785 |