【題目描述】
用高精度計算出
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...