解题思路:先想一下阶乘,1!=1*1,2!=1*2,3!=1*2*3,可见2!=1!*2,3!=2!*3,所以可以把一个数的阶乘算完后存下来,下一个数乘上就是这个数的阶乘了。
注意事项 必须使用%Lf输出,否则会有精度损失
参考代码:
#include
int main()
{
int i,n;
long double sn=0;
long double rest=1;
scanf("%d",&n);
for(i=1;i<=n;i++){
rest=rest*i;//前者的阶乘乘上本身的阶乘等于本身的阶乘
sn=sn+rest;
}
printf("%.0Lf",sn);//必须使用%Lf输出,否则会不兼容,精度会损失
return 0;
}
0.0分
1 人评分
C语言程序设计教程(第三版)课后习题10.5 (C语言代码)浏览:1484 |
C语言程序设计教程(第三版)课后习题6.8 (C语言代码)浏览:798 |
C语言程序设计教程(第三版)课后习题6.5 (C语言代码)浏览:660 |
WU-陶陶摘苹果2 (C++代码)浏览:1018 |
WU-C语言程序设计教程(第三版)课后习题11.11 (C++代码)(想学链表的可以看看)浏览:1463 |
C语言程序设计教程(第三版)课后习题6.6 (C++代码)浏览:649 |
1024题解浏览:879 |
C语言程序设计教程(第三版)课后习题6.8 (C语言代码)浏览:653 |
1392题解(大数相加)浏览:640 |
C语言训练-字符串正反连接 (C语言代码)浏览:653 |