ハノイの塔とは何かを参照するには、グーグルで見るか、ウィキペディアのページをご覧ください。
あなたのコードは2つのことをすることができるはずであり、それらは次のとおりです:
- ハノイタワーの始点にあるディスクの数を指定するユーザー入力を受け入れる
- タワーパズルの解決策を示すために、(何らかの形で論理的である限り)選択した方法で出力を作成します。
論理出力の例は次のようになります(4ディスクの開始を使用)。
L1L2C1L1R-2R-1L1L2C1C-1R-2C1L1L2C1
L
は、左のペグ、C
中央のペグR
、右のペグを表し、数字は、そのペグ上でディスクをどれだけの距離、どの方向に動かすかを示します。正の数は、右端のペグに向かって移動するペグの数を表します(ディスクが左端のペグから始まるため)。
- 一度に移動できるディスクは1つだけです。
- 各移動は、ペグの1つから上部ディスクを取り出し、それを別のペグに、そのペグに既に存在する可能性がある他のディスクの上にスライドさせることで構成されます。
- 小さいディスクの上にディスクを配置することはできません。
ディスクは、左端のペグから始まり、一番下が最大、一番上が最小です。