1. 学ぶ
  2. /
  3. コース
  4. /
  5. Pythonで学ぶデータ構造とアルゴリズム

Connected

演習

ハノイの塔

この演習では、再帰アルゴリズムで ハノイの塔 パズルを実装します。目的は、次のルールに従って、3本の棒のうち1本に積まれたすべてのディスクを別の棒へ移動することです。

  • 1回に動かせるディスクは1枚だけです。
  • 取り出せるのは各山の一番上のディスクだけで、置くときも別の山の一番上に置きます。
  • 小さいディスクの上に大きいディスクを置いてはいけません。

Picture of the game Tower of Hanoi

ここで示すアルゴリズムは、ディスク4枚、棒3本('A'、'B'、'C')の実装例です。コードには2つの誤りがあります。実行すると最大再帰深度を超えてコンソールがクラッシュしてしまいます。バグを見つけて修正してみましょう。

指示

100 XP
  • 基本条件を修正してください。
  • hanoi() 関数の呼び出しを修正してください。