logo

ハノイ塔アルゴリズム用プログラム

ハノイの塔は 3 本の棒 ( B 、 そして C ) そして N ディスク。最初に、すべてのディスクが直径の値が減少するように積み重ねられます。つまり、最小のディスクが上部に配置され、それらはロッド上に配置されます。 。パズルの目的は、スタック全体を別のロッドに移動することです (ここでは C )、次の簡単なルールに従います。

  • 一度に移動できるディスクは 1 つだけです。
  • 各移動は、スタックの 1 つから上のディスクを取得し、それを別のスタックの上に配置することで構成されます。つまり、ディスクはスタック上の最上位のディスクである場合にのみ移動できます。
  • より小さなディスクの上にディスクを置くことはできません。

例:

入力 :2
出力: ディスク 1 が A から B に移動されました
ディスク 2 が A から C に移動されました
ディスク 1 が B から C に移動されました



パワーシェルとバッシュの比較

入力: 3
出力: ディスク 1 が A から C に移動されました
ディスク 2 が A から B に移動されました
ディスク 1 が C から B に移動されました
ディスク 3 が A から C に移動されました
ディスク 1 が B から A に移動されました
ディスク 2 が B から C に移動されました
ディスク 1 が A から C に移動されました

開発者モードを無効にする方法

次のビデオは、次の解決策を示しています。 ハノイの塔 入力の場合 (N) = 3 –

再帰に関するクイズ