为了账号安全,请及时绑定邮箱和手机立即绑定

递归位移是如何运作的?

move(n - 1, a, c, b)

    print(a, '-->', c)

    move(n - 1, b, a, c)

这一份的代码是如何运作的?有人能讲解一下过程吗?

正在回答

2 回答

还是没怎么明白,请问这里为什么是print(a, '-->', c)#为什么要打印a到c的路径?很多人说这是最大的圆盘从a到c的路径,但是电脑是如何知道这段是指最大圆盘从a到c的路径?我这么问可能有点傻,但我真的不懂了。

0 回复 有任何疑惑可以回复我~

2阶汉诺塔执行了三个步骤: 

1.在ACB的顺序下执行了一阶汉诺塔的移动方法 

2.从A->C移动了最大盘的圆盘

3.在BAC的顺序下执行了一阶汉诺塔的移动方法

推广到三阶的时候,可以把小环和中环视为一个整体,这样就变成了2阶汉诺塔的求解

同理,求解四阶时把前三个环视为整体,求解五阶时把前四个环视为整体,求解n阶时把前n-1个环看作一个整体


0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
初识Python
  • 参与学习       758625    人
  • 解答问题       8667    个

学python入门视频教程,让你快速入门并能编写简单的Python程序

进入课程

递归位移是如何运作的?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信