C言語 ハノイの塔 プログラム実装手順【初心者向け解説】

ハノイの塔問題は、クラシックな再帰問題であり、その解決手順は次の通りです:

  1. ハノイの塔の問題を解決するために再帰関数を定義する、関数の原型は void hanoi(int n, char A, char B, char C) で、n はディスクの数を表し、A、B、C は3つの柱を表す。
  2. 関数の内部で、最初に1枚のディスクだけがある場合、そのディスクを直接目標の柱に移動します。
  3. 盤の枚数が1つ以上なら、最初に上からn-1枚の盤をAからBに移動し、次に一番下の1枚の盤をAからCに移動し、最後にBにあるn-1枚の盤をCに移動します。
  4. 移動中に、問題を複数の小問題に分解して、再帰的に hanoi 関数を呼び出して解決することができます。
  5. 最後、再帰呼び出しにより、全ての皿をAからCに移動し、ハノイの塔問題を解決しました。
bannerAds