求n的階乘的精確值

2021-06-27 09:00:14 字數 481 閱讀 8028

斯特林公式可以求出n!的近似值,但是如果需要求精確值的話,就要採取另外的辦法了。『

當n<=1000的時候,可以直接模擬求階乘,用乙個陣列儲存階乘的每一位,大概3000的陣列就行。程式如下:

#include#include#define n 3000

int f[n];//儲存階乘的位數

int main()

return 0;

}

但是當n太大的時候,比如10000,上述演算法會超時,所以 還可以採用一種萬進製的方法,就是陣列中的每乙個數都儲存4位數,超過四位數才進製,形式跟上面類似,但是減少了迴圈次數,節省時間。

#include#include#define n 10000

int f[n]; //每乙個數儲存階乘中的四位數

int main()

return 0;

}

2006 求N 的精確值

time limit 3 second memory limit 2 mb 對於階乘函式,即使自變數較小,其函式值也會相當大。例如 10 3628800 25 15511210043330985984000000 若用integer型資料表示階乘,最多僅可用7 用longint型別型別亦只能到12 ...

階乘的精確值

例如輸入不超過1000的正整數n,輸出n 1x2x3.xn的精確結果。例如輸入30輸出 265252859812191058636308480000000 當輸入1000時1000的階乘約4 10 2567 大概3000位數字,如果採用普通的階乘演算法很明顯溢位 int fun int n 求n的階...

階乘的精確值

輸入乙個不超過1000的正整數n,輸出n 簡單輸入 30簡單輸出 265252859812191058636308480000000 include include define maxn 3000 int f maxn 演算法分析 由於資料不超過1000,則最大為1000,而1000的階乘那是很大...