三个柱子上移动大小盘子

发布时间 2023-07-01 17:39:27作者: 胖豆芽

印度传说

def move(起始塔当前金盘数量, 起始塔, 目标塔, 辅助塔):


    if 起始塔当前金盘数量 > 0:
        # 将n-1个金盘从起始塔移动到辅助塔
        move(起始塔当前金盘数量 - 1, 起始塔, 辅助塔, 目标塔)
        if 起始塔当前金盘数量==1:
            print(f"移动小盘子  从 {起始塔} 到 {目标塔}")
        elif 起始塔当前金盘数量==2:
            print(f"移动中盘子  从 {起始塔} 到 {目标塔}")
        else:
            print(f"移动大盘子  从 {起始塔} 到 {目标塔}")

        # 将最大的金盘从起始塔移动到目标塔


        # 将n-1个金盘从辅助塔移动到目标塔
        move(起始塔当前金盘数量 - 1, 辅助塔, 目标塔, 起始塔)


# 测试示例
move(3, "起始塔", "目标塔", "辅助塔")

移动小盘子 从 起始塔 到 目标塔
移动中盘子 从 起始塔 到 辅助塔
移动小盘子 从 目标塔 到 辅助塔
移动大盘子 从 起始塔 到 目标塔
移动小盘子 从 辅助塔 到 起始塔
移动中盘子 从 辅助塔 到 目标塔
移动小盘子 从 起始塔 到 目标塔