解题思路:这题主要是求每个数的阶乘以及阶乘求和,这个想必对各位大佬来说肯定是轻而易举,但对于我这个新人小白来说还需思考一会儿,想出来的也不是最简洁的算法……一开始我把变量都定义成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++代码)浏览:862 |
C语言程序设计教程(第三版)课后习题6.10 (C语言代码)浏览:552 |
C语言程序设计教程(第三版)课后习题6.11 (C语言代码)浏览:2080 |
Cylinder (C语言描述+详细分析)浏览:3263 |
C语言程序设计教程(第三版)课后习题3.7 (C语言代码)浏览:561 |
打印十字图 (C语言代码)浏览:2701 |
模拟计算器 (C语言代码)浏览:2299 |
找出最长的字符串来 (C语言代码)浏览:1762 |
printf基础练习 (C语言代码)浏览:1794 |
简单的a+b (C语言代码)浏览:462 |