溫馨提示×

python漢諾塔代碼怎么寫

小億
225
2023-11-24 21:57:41
欄目: 編程語言

以下是一個用 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 柱作為輔助柱。輸出結果會顯示每一步的移動過程。

請注意,在實際使用時,可能需要對輸入進行驗證和錯誤處理。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女