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

溫馨提示×

python漢諾塔編程代碼怎么寫

小億
115
2023-12-11 15:29:42
欄目: 編程語言

下面是一個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"。

0
通州市| 温宿县| 新津县| 呼和浩特市| 龙江县| 耿马| 西青区| 中山市| 遂溪县| 蕉岭县| 莲花县| 玉龙| 仁寿县| 伊金霍洛旗| 阳城县| 通江县| 峨山| 漳州市| 锦屏县| 海晏县| 佳木斯市| 岳阳县| 纳雍县| 灵武市| 迁安市| 晋中市| 山阴县| 冕宁县| 黄石市| 平邑县| 翁牛特旗| 霸州市| 丁青县| 双桥区| 祁门县| 斗六市| 石屏县| 乌审旗| 安塞县| 阜宁县| 宜州市|