(計(jì)算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貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超7個(gè)贊
long int實(shí)際上跟int一樣,也只有4個(gè)字節(jié)。
解決辦法是用long long。
修改三個(gè)地方:
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函數(shù)
TA貢獻(xiàn)1836條經(jīng)驗(yàn) 獲得超4個(gè)贊

蕪湖不蕪
TA貢獻(xiàn)1796條經(jīng)驗(yàn) 獲得超7個(gè)贊
c語言的已有的簡(jiǎn)單類型中沒有一個(gè)放得下的。
如果你想計(jì)算,就需要自己想辦法,例如 用一個(gè)大數(shù)組來存儲(chǔ)計(jì)算結(jié)果的每一位等等
- 3 回答
- 0 關(guān)注
- 173 瀏覽
添加回答
舉報(bào)
0/150
提交
取消