鱼C论坛

 找回密码
 立即注册
查看: 2599|回复: 4

关于汉诺塔的递归(python2.7)

[复制链接]
发表于 2016-8-1 17:58:49 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
   看了鱼C的教学视频,中间有这么一段,如图:

这里的“借助”到底什么意思?

这里的“借助”到底什么意思?
    这里的“ 借助”到底什么意思??




代码如下:
#coding=gbk
def hanoi(n, x, y, z):
    if n == 1:
        print(x, ' -->' , z)
    else:
        hanoi(n-1, x, z, y)
        print(x, ' -->' , z)
        hanoi(n-1, y, x, z)
n = int(input("输入: "))
hanoi(n ,'x' ,'y', 'z')
   



    比如从X 移动到 Z  写作:  hanoi(n-1  , x,  y,  z)  
   那么它中间这个y是干嘛的?
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-8-1 18:33:37 | 显示全部楼层
你先手动玩一次汉诺塔游戏,才好跟你解释。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-8-1 21:15:09 | 显示全部楼层
本帖最后由 mather 于 2016-8-1 22:11 编辑

最简单的汉诺塔游戏,定义有三个柱子分别称之为X,Y,Z,假设一开始的时候X柱子上有三个盘子从小到大,排列的。游戏的规则就是你不能把大盘子放在小盘子上,然后从X柱移动到Z柱。你肯定不能只用两个柱子进行移动,所以这里就有了借助Y柱子一说。
其实最少步数的移动是定下来的,你不妨试着想想这个过程。2**3-1=7步吧,就够了~~
不会了再来问,跑步去啦~~
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-8-2 01:02:54 | 显示全部楼层
SixPy 发表于 2016-8-1 18:33
你先手动玩一次汉诺塔游戏,才好跟你解释。

同意版主,不是准备了游戏的链接嘛,自己玩一次比凭空想象来理解容易多了!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-8-2 10:39:44 | 显示全部楼层
Get..    
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-2-22 00:38

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表