ID非公開

2017/7/24 14:44

22回答

nの階乗の桁数の求め方を教えてくださいm(__)m

中学数学 | 工学1,536閲覧

ベストアンサー

このベストアンサーは投票で選ばれました

0

その他の回答(1件)

0

証明は難しいので結果だけ書きます。 スターリングの近似により n! ≒ √(2nπ)(n/e)^n log(n!) ≒ log(√(2nπ)(n/e)^n) = log(√(2nπ)) + log((n/e)^n) = (1/2)log(2nπ) + nlog(n/e) = (1/2)log(2nπ) + nlog(n) - nlog(e) = (1/2)log(2π) + (1/2)log(n) + nlog(n) - nlog(e) = (1/2)log(2π) + (1/2 + n)log(n) - nlog(e) = (1/2 + n)log(n) - nlog(e) + (1/2)log(2π) log(e) ≒ 0.4343 (1/2)log(2π) ≒ 0.3991 なので ≒ (1/2 + n)log(n) - 0.4343n + 0.3991 この式を計算した後、小数点以下を切り捨てて1を足すと、n!の桁数になります。 このlogは常用対数です。 常用対数 log(n) は、10を何乗したらnになるか?という問題の答えです。 たとえば、10の2乗=100なので、log(100)=2となります。 実際に計算してみると 100!の桁数は (1/2 + 100)log(100) - 0.4343×100 + 0.3991 = 100.5×2 - 43.43 + 0.3991 = 157.9691 なので、切り捨てて1を足すと158桁 1000!の桁数は (1/2 + 1000)log(1000) - 0.4343×1000 + 0.3991 = 1000.5×3 - 434.3 + 0.3991 = 2567.5991 なので、切り捨てて1を足すと2568桁 のように計算できます。