求N 有多少位

2021-10-06 08:02:42 字數 721 閱讀 8372

description

n! (n的階乘) 是非常大的數,計算公式為:n! = n * (n - 1) * (n - 2) * … * 2 * 1)。現在需要知道n!有多少(十進位制)位。

input

每行輸入1個正整數n。0 < n < 1000000

output

對於每個n,輸出n!的(十進位制)位數。

sample input13

32000

1000000

sample output11

130271

5565709

/*n!位數是lg(n!)+1

lg(n!)=lg(1)+…+lg(n)

*/

#include

using

namespace std;

intmain()

return0;

}

/*

利用斯特林公式

優化*/

#include

using

namespace std;

const

double e=

2.7182818284590452354

,pi=

3.141592653589793239

;int

main()

return0;

}

求N 有多少個0,1,2, ,9

給出乙個正整數n 0 n 10000 求n 有多少個0,1,2,9。輸入有一行,為乙個正整數n 輸出n 中0,1,2,9的個數 以空格隔開 10 2 0 1 1 0 0 1 0 2 0 分析 n!最多只有35660位 n 10000時 因為時間充足,所以可採用求大數階乘的演算法求出n!的具體數值,然...

求大數的階乘有多少位

可設想n 的結果是不大於10的m次冪的數,即n 10 m 10的m次方 則不小於m的最小整數就是 n 的位數 對 該式兩邊取對數,有 m log10 n 即 m log10 1 log10 2 log10 3.log10 n 迴圈求和,就能算得m值,該m是n 的精確位數。當n比較大的時候,這種方法方...

求N!末尾有多少個0

思考 該題實際上是求 2 5 因子對的個數。對於任意乙個階乘,5因子的個數總是小於2因子的個數,僅需考慮n 中5因子的個數 方法 1 將該數用 5 除,得到的商取整數。2 然後再用所得商當被除數除以 5,得到的商取整數。3 持續做到商等於 0 為止。4 過程中的商加總即為階乘的尾數 0 的個數。例 ...