題目描述:
用高精度計算出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,使用書中的 無法通...