91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

怎么用python寫漢諾塔程序

小億
114
2023-11-29 18:47:29
欄目: 編程語言

下面是使用遞歸的方法來編寫漢諾塔程序的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 = 3  # 盤子的數量
hanoi(n, 'A', 'C', 'B')

請注意,此代碼僅打印出了每一步的移動,如果你希望將移動的步驟保存在列表中以便進一步操作,你可以將 print 語句替換為一個列表的追加操作。

這段代碼中的 hanoi 函數采用了四個參數: n 表示要移動的盤子數量, source 表示源柱子, target 表示目標柱子, auxiliary 表示輔助柱子。函數首先將 n-1 個盤子從源柱子移動到輔助柱子,然后將第 n 個盤子從源柱子移動到目標柱子,最后再將 n-1 個盤子從輔助柱子移動到目標柱子。這個過程通過遞歸調用函數來實現。

在測試部分,我們將一個包含 3 個盤子的漢諾塔問題的解傳遞給 hanoi 函數,并將源柱子命名為 ‘A’,目標柱子命名為 ‘C’,輔助柱子命名為 ‘B’。

0
岗巴县| 湟中县| 隆安县| 郁南县| 松阳县| 安塞县| 汽车| 丹江口市| 饶河县| 阿图什市| 双牌县| 应城市| 温泉县| 彰武县| 大邑县| 榆中县| 江安县| 临安市| 龙里县| 天峻县| 定日县| 南岸区| 错那县| 恩平市| 台山市| 凤山县| 仁化县| 虎林市| 永昌县| 新龙县| 淳安县| 马公市| 临朐县| 新昌县| 宜君县| 鸡西市| 湖北省| 铁岭县| 南丰县| 景宁| 保定市|