解题思路:
用了两个for循环
第一个for循环求和:先求的是n!然后是(n-1)!然后是(n-2)! ……最后再加起来
第二个for循环求n!
注意事项:
由于数值较大,建议用long long定义阶乘的结果sn和求和结果Sn
输出格式为printf("%lld", Sn);
参考代码:
//求Sn=1!+2!+3!+4!+5!+…+a! #include<stdio.h> int main() { int a; int n; long long sn; long long Sn = 0; scanf("%d", &a); for(a; a > 0; a--) //先求的是n!然后是(n-1)!然后是(n-2)! ……最后再加起来 { sn = 1; for(n = 1; n <= a; n++) { sn = sn * n; //n!的值 } Sn = Sn + sn; } printf("%lld", Sn); return 0; }
0.0分
0 人评分
数组输出 (C语言代码)浏览:767 |
简单的a+b (C语言代码)浏览:537 |
printf基础练习2 (C语言代码)浏览:567 |
【回文数(二)】 (C语言代码)浏览:728 |
A+B for Input-Output Practice (VII) (C++代码)浏览:606 |
用筛法求之N内的素数。 (C++代码)浏览:692 |
C语言程序设计教程(第三版)课后习题9.10 (C语言代码)浏览:820 |
10月月赛题解浏览:536 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:518 |
1202题解浏览:613 |