栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

汉诺塔问题

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

汉诺塔问题

函数move设立4个参数

        第一个为一共挪动的数量 第二个为初始位置 第三个为过渡位置 第四个为目标位置

        即为使用递归方法

def move(n,a,b,c): #n为圆盘数 a代表初始位圆柱 b代表过渡位圆柱 c代表目标位圆柱
 if n 1:
 print(a, -- ,c)
 else:
 #将初始位的n-1个圆盘移动到过渡位 此时初始位为a 上一级函数的过渡位b即为本级的目标位 上级的目标位c为本级的过渡位
 move(n-1,a,c,b) 
 print(a, -- ,c)
 #将过渡位的n-1个圆盘移动到目标位 此时初始位为b 上一级函数的目标位c即为本级的目标位 上级的初始位a为本级的过渡位
 move(n-1,b,a,c) 
n int(input( 请输入盘子数: ))
move(n, A , B , C )

结果如下 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/267027.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号