解题思路:
本题定义一个循环变量i用来控制循环次数,阶乘fact,用变量sum把所有阶乘之和相加!
注意事项:
注意本题中给出的案例是[5,153],导致很多同学测试完数据后答案对50%。
这主要是输出的值超出变量的范围了!因此要用一个足够大的变量类型去保存输出结果,可以选择long long 或者更大的类型去保存。
参考代码:
#include <stdio.h> int main() { int i,n; long long fact=1,sum=0; //如果用int会出现数值越界 scanf("%d",&n); for(i=1; i<=n; i++) { fact*=i; sum+=fact; } printf("%lld",sum); return 0; }
0.0分
0 人评分
C语言训练-求s=a+aa+aaa+aaaa+aa...a的值 (C++代码)(手动优化一下计算)浏览:1282 |
2005年春浙江省计算机等级考试二级C 编程题(2) (C语言代码)浏览:495 |
C语言程序设计教程(第三版)课后习题5.4 (C语言代码)浏览:890 |
C语言程序设计教程(第三版)课后习题5.5 (C语言代码)浏览:664 |
程序员的表白 (C语言代码)浏览:661 |
兰顿蚂蚁 (C++代码)浏览:1044 |
本人酷爱递归实现很多问题,这里也是浏览:556 |
字符逆序 (C语言代码)浏览:638 |
DNA (C语言代码)浏览:540 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:607 |