汉诺塔-python递归

汉诺塔-Python代码实现(递归)

python 复制代码
def hannoi(n: int, x: str, y: str, z: str):
    """ 汉诺塔 """
    if n == 1:  # 一块圆盘,直接移动到Z
        print(x, ' -> ', z)
    else:
        # 不为一块圆盘,先将n-1个圆盘,从X通过Z,移动到Y
        hannoi(n - 1, x, z, y)
        print(x, ' -> ', z)     # X上只剩一块,然后移动到Z
        hannoi(n - 1, y, x, z)  # 再将n-1块圆盘,从Y通过X移动到Z


if __name__ == '__main__':
    hannoi(4, 'X', 'Y', 'Z')

# X  ->  Y
# X  ->  Z
# Y  ->  Z
# X  ->  Y
# Z  ->  X
# Z  ->  Y
# X  ->  Y
# X  ->  Z
# Y  ->  Z
# Y  ->  X
# Z  ->  X
# Y  ->  Z
# X  ->  Y
# X  ->  Z
# Y  ->  Z

小破站讲解视频:汉诺塔实现讲解

相关推荐
听雨入夜13 小时前
zero.zhang
开发语言·python
叶 落14 小时前
Mac 通过 Miniconda 安装 Python
python·macos·conda·miniconda
就改了20 小时前
Java8 日期处理(详细版)
java·python·算法
威联通安全存储1 天前
TS-h1887XU-RP在汽车发动机热试与NVH在线质检网中的部署
python·汽车
qq_316411031 天前
腹腔镜模拟手术训练数字化管理平台构建
人工智能·python·深度学习·机器学习
卷无止境1 天前
PageIndex:把RAG的检索逻辑从"找相似"改成了"讲道理"
后端·python
卷无止境1 天前
什么是VoxCPM2?一场TTS架构的彻底重构
后端·python
kisloy1 天前
【爬虫入门第5讲】Python爬虫文本解析详解
开发语言·爬虫·python
神经蛙19961 天前
🌍 别再硬编码中文了!Python Web 项目国际化(i18n)完全指南
后端·python
颜酱1 天前
14 | 验证并修正 LLM 生成的 SQL
人工智能·python