(计算1!+2!+3!+。。。。+N!)#include <stdio.h>void main(){long int i=0,n,x=1,y=1,z=1;while(1){scanf("%d",&n);if(n<=20){for(i=1;z<=n;i++,z++){i=x*z;if(i>1){y=i+y;}x=i ;}if(n==1)printf("1\n");elseprintf("%d\n",y);}}}
3 回答
吃鸡游戏
TA贡献1829条经验 获得超7个赞
long int实际上跟int一样,也只有4个字节。
解决办法是用long long。
修改三个地方:
long int i=0,n,x=1,y=1,z=1;
修改为long long i=0,n,x=1,y=1,z=1;
scanf("%d",&n);修改为scanf("%lld",&n);
printf("%d\n",y);修改为printf("%lld\n",y);
注意这里的ll是jkl里的小写l。
我用的是Linux上的CodeBlocks,如果是Windows,把%lld换成%I64d,注意前面的字母是HIJK里的大写I。
HUH函数
TA贡献1836条经验 获得超4个赞
- 3 回答
- 0 关注
- 143 浏览
添加回答
举报
0/150
提交
取消