洛谷 P1009 階乘之和

2021-10-07 08:12:51 字數 1251 閱讀 1150

題目描述:

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

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

乙個正整數nn。

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

輸入 #1複製

3
輸出 #1複製

9
分析:

本來以為昨晚寫完了高精度乘法和加法之後,以後就不用再寫了,然後今天早上就打臉了,emmmm...我看到答案區好多大神們用python乙個語句就出來了,但是我太弱了,不會python,那就c++高精度乘法+高精度加法慢慢算吧

題確實不難,無論是階乘還是高精度乘法和加法,只是結合起來就沒那麼容易,尤其是涉及到string和int 的轉換,這點浪費了我很多時間,以後要熟練。最後一點就是每一次計算完要把cf清空,不然會帶到下一次計算中去,博主就是這樣wa了兩個資料,附上**:

#include#includeusing namespace std;

string add(string str1,string str2);

string mul(string str1,string str2);

string jc(int k);

int main()

if(cf>0)

str=char(cf+'0')+str;

if(str.find_first_not_of('0')==str.npos)

str="0";

else

str.erase(0,str.find_first_not_of('0'));

return str;

}string mul(string str1,string str2)

if(str.find_first_not_of('0')==str.npos)

str="0";

else

str.erase(0,str.find_first_not_of('0'));

return str;

} string jc(int k)

if(k==1)

return "1";

else

return mul(tempkk,jc(k-1));

//return k*jc(k-1);

}

洛谷 P1009 階乘之和

用高精度計算出s 1!2!3!n!n 50 其中 表示階乘,例如 5!5 4 3 2 1。輸入格式 乙個正整數n。輸出格式 乙個正整數s,表示計算結果。輸入樣例 1 複製 3 輸出樣例 1 複製 9 思路 高精度加法 高精度乘法。include include include include usi...

洛谷P1009階乘之和 zhengjun

題目描述 用高精度計算出s 1 2 3 n n 50 s 1 2 3 n n le 50 s 1 2 3 n n 50 其中 表示階乘,例如 5 5 4 3 2 15 5 times 4 times 3 times 2 times 1 5 5 4 3 2 1。輸入格式 乙個正整數nnn。輸出格式 乙...

階乘之和 洛谷 P1009題

首先,題目傳送門是一定要有的 接下來就是題目描述了 用高精度計算出s 1 2 3 n n 50 其中 表示階乘,例如 5 5 4 3 2 1。乙個正整數n 乙個正整數s 表示計算結果。輸入 1 3 輸出 1 9 注 深入淺出基礎篇 中使用本題作為例題,但是其資料範圍只有 n 20,使用書中的 無法通...