「もっとプログラマ脳を鍛える数学パズル」という本に載っている
「Q39 隣り合うと消えちゃうんです」の別解の解説でわからないところがあります。
どなたか教えていただけいただけないでしょうか?
Ruby
1N = 11 2 3@memo = {1 => 0, 2 => 1} 4def pair(n) 5 return @memo[n] if @memo[n] 6 @memo[n] = (2 * (n - 1) + 1) * pair(n - 1) + pair(n - 2) 7end 8 9puts pair(N)
漸化式の変形部分などは理解できたのですが、
理解できないのは解説の total()関数で i = 0 ~ n-1 までを足していっているところです。
足すと言うことは、Nがどんなに大きくても、
題意を満たす(隣り合っていない)pair(3)やpair(4)に対応した、
題意を満たしていない(隣り合っている)のに消えない残りの色の並びが必ずあると言うことでしょうか?
もしそうならそれはどのような並びになっているのでしょうか?
例えばNがある程度大きい数で、pair(3)の時の色を数字で表すと、
「123123」と並んでいるのに対し残りの445566778899....はどのように並んでいるのでしょうか?
宜しくお願いします。
回答1件
あなたの回答
tips
プレビュー