階乘的和高精度

2021-10-01 07:06:02 字數 779 閱讀 8054

【題目描述】

用高精度計算出

s=1!+2!+3!+…+n!(n≤50)

s=1!+2!+3!+…+n!(n≤50)

,其中「!!

」表示階乘,例如:

5!=5×4×3×2×1

5!=5×4×3×2×1

。輸入正整數nn

,輸出計算結果ss

。【輸入】

乙個正整數nn

。【輸出】

計算結果ss

。【輸入樣例】

5【輸出樣例】

153

#include

using

namespace std;

int f[

99000];

int sum[

99000];

void

sum1

(int len)

//計算每一次的和

}int

main()

while

(num)

//num數字餘數因為階乘中餘數可能會很大,所以加乙個if迴圈來保證進製成功

sum1

(dight)

;//因為階乘的長度是最大的和sum陣列不可能大於f陣列的

}for

(int i = dight-

1; i >=

0; i--

)//輸出

return0;

}

學習是個循循漸進的過程,應該先打好基礎,才能走的更遠。

高精度階乘

問題描述 輸入乙個正整數n,輸出n 的值。其中n 1 2 3 n。演算法描述 n 可能很大,而計算機能表示的整數範圍有限,需要使用高精度計算的方法。使用乙個陣列a來表示乙個大整數a,a 0 表示a的個位,a 1 表示a的十位,依次類推。將a乘以乙個整數k變為將陣列a的每乙個元素都乘以k,請注意處理相...

高精度階乘

問題描述 輸入乙個正整數n,輸出n 的值。其中n 123 n。演算法描述 n 可能很大,而計算機能表示的整數範圍有限,需要使用高精度計算的方法。使用乙個陣列a來表示乙個大整數a,a 0 表示a的個位,a 1 表示a的十位,依次類推。將a乘以乙個整數k變為將陣列a的每乙個元素都乘以k,請注意處理相應的...

階乘和(高精度演算法)

對於自然數n的階乘,當n比較小時,可以32位整數int範圍內準確表示 例如12 479001600 2147483647 231 1 而20 2432902008176640000 9223372036854775807 263 1 可以在64位整數long long int範圍內準確表示 但是 n...