ハノイの塔というパズルゲームがある。
A, B, C 3本の棒があり、そのうちのAに円盤が何枚か挿してある。 この円盤すべてを別の棒に移動する。
ただし、円盤すべてをまるごと動かしてよいわけではなく、以下の規則に従 わなければならない。
一度に動かしてよいのは1枚だけ
ひとつの円盤の上にはそれより大きな円盤を置いてはいけない
このパズルを解くRubyプログラムを作ってみよう。
プログラムを作りやすいように円盤に番号を付けて管理する。
Rubyプログラムを起動すると、次のように教えてくれるものとする。
1番の円盤 を A から C に移動しなさい 2番の円盤 を A から B に移動しなさい 1番の円盤 を C から B に移動しなさい
この例は分かりやすくするために、2枚だけで示しているが、実際に作るプロ
グラムは板が何枚でも手順を教えてくれるものである。
このようなプログラム hanoi.rb
を作ってみよう。
問題: ハノイの塔を解き、その手順を教えてくれる Ruby プログラムは だいたい何行くらいになると思うか、直感で答えよ。