解题思路:这题主要是求每个数的阶乘以及阶乘求和,这个想必对各位大佬来说肯定是轻而易举,但对于我这个新人小白来说还需思考一会儿,想出来的也不是最简洁的算法……一开始我把变量都定义成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语言程序设计教程(第三版)课后习题7.2 (C语言代码)浏览:661 |
WU-输出九九乘法表 (C++代码)浏览:1654 |
A+B for Input-Output Practice (VI) (C语言代码)浏览:552 |
复数求和 (C语言代码)浏览:915 |
整除的尾数 (C语言代码)浏览:809 |
班级人数 (C语言代码)浏览:919 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:449 |
C语言程序设计教程(第三版)课后习题3.7 (C语言代码)浏览:1286 |
整数分类 oj上总是wrong answer浏览:662 |
Manchester-弟弟的作业浏览:4002 |