久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

python漢諾塔編程代碼怎么寫

147次閱讀
沒有評論

共計 624 個字符,預計需要花費 2 分鐘才能閱讀完成。

下面是一個 Python 的漢諾塔問題的遞歸解決方案的代碼示例:

def hanoi(n, source, target, auxiliary):
    if n > 0:
        # 將 n-1 個盤子從源柱移動到輔助柱
        hanoi(n-1, source, auxiliary, target)
        # 將最底下的盤子從源柱移動到目標柱
        print(f"Move disk {n} from {source} to {target}")
        # 將 n-1 個盤子從輔助柱移動到目標柱
        hanoi(n-1, auxiliary, target, source)

# 測試
hanoi(3, 'A', 'C', 'B')

這段代碼中,hanoi函數接受四個參數:整數 n 表示盤子的數量,字符串 source 表示源柱,字符串 target 表示目標柱,字符串 auxiliary 表示輔助柱。函數使用遞歸的方式解決漢諾塔問題。

hanoi 函數中,首先檢查 n 是否大于 0。如果是,則遞歸調用函數本身:

  1. 第一次遞歸調用將前 n-1 個盤子從源柱移動到輔助柱 (sourceauxiliary)。
  2. 打印移動最底下的盤子從源柱移動到目標柱 (sourcetarget)的操作。
  3. 第二次遞歸調用將前 n-1 個盤子從輔助柱移動到目標柱 (auxiliarytarget)。

最后,我們調用 hanoi 函數來測試代碼,并將 source 設置為 "A",target設置為 "C",auxiliary設置為 "B"。

丸趣 TV 網 – 提供最優質的資源集合!

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-12-13發表,共計624字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 西安市| 新巴尔虎左旗| 吕梁市| 延川县| 河源市| 宿松县| 车致| 丽江市| 辽宁省| 儋州市| 卓资县| 三台县| 嫩江县| 嘉鱼县| 吴堡县| 红桥区| 南丰县| 武鸣县| 林口县| 卢氏县| 石门县| 佛学| 容城县| 梅河口市| 西畴县| 怀化市| 泗水县| 万州区| 中方县| 泗洪县| 石家庄市| 临西县| 西乡县| 湛江市| 宝清县| 龙胜| 芒康县| 封开县| 绍兴县| 英德市| 当雄县|