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

python汉诺塔任务中的题目

任务:

我们对柱子编号为a, b, c,将所有圆盘从a移到c可以描述为:

如果a只有一个圆盘,可以直接移动到c;

如果a有N个圆盘,可以看成a有1个圆盘(底盘) + (N-1)个圆盘,首先需要把 (N-1) 个圆盘移动到 b,然后,将 a的最后一个圆盘移动到c,再将b的(N-1)个圆盘移动到c。

问题:  最后的 b的(n-1)为什么不移到a,要移到c?

正在回答

2 回答


5a2a033e0001bc4207801040.jpg
手机码代码好难

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

汉诺塔任务的最终目标就是将所有圆盘从A移动到C

如果你是说过程的话,在将剩余的( n-1)个圆盘移到C的过程中,肯定也有将某个圆盘从B移到A的过程(如果没有这些过程,也没法将圆盘从B移到C)

你可以取百科看一下汉诺塔任务的过程,课程中的任务简述是已经做了优化的了,已经给出了具体策略。原始的问题是:有N个圆盘放在A上,在对盘的移动过程中,必须保证大盘在下,小盘在下,如何将所有圆盘移动到C上。

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

举报

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

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

进入课程

python汉诺塔任务中的题目

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