隣り合う階乗の和(2)
1 / (0! + 1!) + 1 / (1! + 2!) + 1 / (2! + 3!) + … + 1 / ((n - 1)! + n!) = 1 - 1 / (n + 1)! ①
が成り立つ。
証明は次の通り。
n = 1 のとき、1 / 2 = 1 - 1 / 2!
より、①は正しい。
n = k のとき、①が正しいと仮定すると、
1 / (0! + 1!) + 1 / (1! + 2!) + … + 1 / (k! + (k + 1)!)
= (1 - 1 / (k + 1)!) + 1 / ((k + 2)k!)
= 1 + (- (k + 2) + (k + 1)) / (k + 2)!
= 1 - 1 / (k + 2)!
となり、n = k + 1 のときも①が正しい。
よって、①が成り立つ。
さて、Ruby で計算すると次のようになる。
def f(n)
return 1 if n == 0
(1..n).inject(:*)
end
def g(n)
f(n - 1) + f(n)
end
def h(n)
(1..n).inject(0){|s, i| s += 1r / g(i)}
end
(1..20).each{|i| p h(i)}
出力結果
(1/2)
(5/6)
(23/24)
(119/120)
(719/720)
(5039/5040)
(40319/40320)
(362879/362880)
(3628799/3628800)
(39916799/39916800)
(479001599/479001600)
(6227020799/6227020800)
(87178291199/87178291200)
(1307674367999/1307674368000)
(20922789887999/20922789888000)
(355687428095999/355687428096000)
(6402373705727999/6402373705728000)
(121645100408831999/121645100408832000)
(2432902008176639999/2432902008176640000)
(51090942171709439999/51090942171709440000)
0 件のコメント:
コメントを投稿
注: コメントを投稿できるのは、このブログのメンバーだけです。