ハノイの塔は、3本の杭とそれらの上に積まれた複数の円盤で構成されるパズルです。このパズルでは、最初に最も大きい円盤が最初の杭に置かれ、それ以外の円盤はサイズが小さいものが下に来るように積み重ねられています。目的は、最初の杭から最後の杭に全ての円盤を移動させることです。ただし、1度に1つの円盤しか動かせず、大きい円盤の上に小さい円盤を置くことはできません。
Pythonを使用して、再帰を使用してこのパズルを解くことができます。以下は、ハノイの塔を解くためのPythonコードの例です。
def hanoi(n, start, end, aux):
if n == 1:
print(start, "->", end)
else:
hanoi(n-1, start, aux, end)
print(start, "->", end)
hanoi(n-1, aux, end, start)
hanoi(3, "A", "C", "B")
このコードは、3つの杭を A, B, C として扱い、最初に A にある3つの円盤を C に移動する方法を示しています。
このコードを実行すると、以下の出力が得られます。
A -> C
A -> B
C -> B
A -> C
B -> A
B -> C
A -> C
これは、正しい移動の順序であることを確認するために使用できます。