09/02/03 17:00:59
>>733
k! = (2n)!/n! にスターリングの公式を使って
k*ln(k) - k + (1/2)ln(πk) = n*ln(4n/e) …(*)
主要な項で比較すると k ≒ n
精度を上げるために
k = n + f(n) (|f(n)/n| << 1)
として (*) に代入
O(f), O(ln(n)) の項は今の精度では小さいので落として計算
(n+f)*ln(n+f) - (n+f) = n*ln(4n/e)
(n+f)*(ln(n) + f/n) - (n+f) = n*ln(4n/e)
f*ln(n) = n*ln(4)
∴ f ≒ n*ln(4)/ln(n)
更に
k = n + f(n) + g(n) (|g(n)/f(n)| << 1)
として (*) に代入
O(g), O(n/ln^3(n)) の項を落として計算
(n+f+g)*ln(n+f+g) - (n+f+g) = n*ln(4n/e)
(n+f+g)*(ln(n) + f/n - f^2/n^2/2 + g/n) - (n+f+g) = n*ln(4n/e)
g*ln(n) + f^2/n/2 = 0
∴ g ≒ -f^2/n/ln(n)/2 = -(1/2)n*ln^2(4)/ln^3(n)
∴ k ≒ n+f+g = n + n*ln(4)/ln(n) - (1/2)n*ln^2(4)/ln^3(n)
もっと精度を上げたければ k = n+f+g+h とかして続ける
n=50 のとき
(2n)!/(n!)^2/4^n = 0.080
(2n)!/n!/n! = 1.0*10^29
n+f = 67.7, (2n)/n!/67.7! = 0.0044
n+f+g = 66.9, (2n)/n!/66.9! = 0.13