以下是一個用 Python 編寫的漢諾塔遞歸算法示例:
def hanoi(n, source, target, auxiliary):
if n > 0:
# 將 n-1 個盤子從源柱移動到輔助柱
hanoi(n-1, source, auxiliary, target)
# 將第 n 個盤子從源柱移動到目標柱
print(f"Move disk {n} from {source} to {target}")
# 將 n-1 個盤子從輔助柱移動到目標柱
hanoi(n-1, auxiliary, target, source)
# 測試代碼
n = int(input("請輸入漢諾塔的盤子數:"))
hanoi(n, 'A', 'C', 'B')
在這個示例中,hanoi
函數是一個遞歸函數,它將 n
個盤子從源柱移動到目標柱,通過輔助柱作為中轉。
通過調用 hanoi(n, 'A', 'C', 'B')
,我們可以將 n
個盤子從 A 柱移動到 C 柱,B 柱作為輔助柱。輸出結果會顯示每一步的移動過程。
請注意,在實際使用時,可能需要對輸入進行驗證和錯誤處理。