Luogu P1009 階乘之和

2022-07-18 02:36:09 字數 1084 閱讀 6301

重操舊業啦

用高精度計算出s=1!+2!+3!+…+n! (n≤50)

其中「!」表示階乘,例如:5!=5×4×3×2×1。

乙個正整數n。

乙個正整數s,表示計算結果。

一道顯然的高精度乘法在做加法,n<13爆做,不爆int。n>=13高精度;

值得注意的一點是,題目要求求階乘並加和,寫題時容易誤寫成求階乘,忘記加和;

具體注釋已經放進了**裡

#includeint a[10005],g[10005],s[10005],b[10005],he[10005

];int

main()

printf("%d

",sum);

return0;

}else

for(i=1;;i++)

for(j=13;j<=n;j++)//

從13開始高精度求階乘

else jin=0

; jin+=ans/10

; }

jin=0

;

for(i=1;i<=t+10;i++)

else jin=0

; jin+=ans/10

; }

jin=0;he[1]=g[1

];

for(i=2;i<=t+10;i++)

else jin=0

; }

//求和即在he中表示出j的階乘

for(i=1;i<=t+10;i++)

else jin=0

; }

//再次求和,得出j內階乘和

for(i=1;i<=t+10;i++)

if(a[i]!=0)t=i;//

用t計錄答案位數

}

for(i=t;i>=1;i--)

printf("%d

",a[i]);//

輸出 return0;

}}

階乘之和 luogu P1009

題目描述 用高精度計算出s 1!2!3!n!n 50 其中 表示階乘,例如 5!5 4 3 2 1。輸入輸出格式 輸入格式 乙個正整數n。輸出格式 乙個正整數s,表示計算結果。輸入輸出樣例 輸入樣例 1 輸出樣例 1 include includechar result 55 20000 int r...

P1009 階乘之和

提交該題 討論 題解記錄 用高精度計算出s 1!2!3!n!n 50 其中 表示階乘,例如 5!5 4 3 2 1。輸入格式 乙個正整數n。輸出格式 乙個正整數s,表示計算結果。輸入樣例 1 3 輸出樣例 1 9 include include using namespace std int a 1...

題解 P1009 階乘之和

p1009 階乘之和 qaq,剛開始看完題直接立刻按照題目階乘相加寫出了程式,資料使用int型別處理,4個測試點只通過兩個。感覺應該是int型資料不夠大,存不下結果,然後換成了long long測試一遍還是不行,又換成了unsigned long long,還是不夠大,這個不行 include in...