爱问知识人 爱问教育 医院库

五个圆盘汉诺塔移动步骤

首页

五个圆盘汉诺塔移动步骤


        

提交回答
好评回答
  • 2023-08-18 13:00:28

    方法/步骤

    1/8

    按照在《汉诺威塔四个圆盘完成攻略》中介绍的汉诺塔移动规律,点左面圆柱,拿起第一个圆盘,放到右面圆柱上。

    2/8

    点左面圆柱,拿起第二个圆盘,放到中间圆柱上。

    3/8

    点右面圆柱,拿起第一个圆盘,放到中间圆柱上。

    4/8

    点左面圆柱,拿起第三个圆盘,放到右面圆柱上。

    5/8

    将第一个圆盘和第二个圆盘,按照三个圆盘时的移动方法,放到右面圆柱上。

    点左面圆柱,拿起第四个圆盘,放到中间圆柱上。

    这样第五个圆盘就可以移动了。

    6/8

    将右面圆柱上的三个圆盘移动中间圆柱上。这样目标圆柱就被清空了。

    点左面圆柱,拿起第五个圆盘,放到右面圆柱上。

    7/8

    剩下的移动方法就要使用四个圆盘时的移动方法。将四个圆盘所在的圆柱,当作圆柱一,将没有圆盘的圆柱当作圆柱二,将第五个圆盘所在圆柱当作圆柱三。

    按照移动规律,当圆盘数是偶数时,第一个圆盘移动到偶数圆柱上。

    点中间圆柱,拿起第一个圆盘,放到左面圆柱上。

    8/8

    当把第四个圆盘移动到第五个圆盘上面时,此时与三个圆盘时的状态一样。剩下的按照三个圆盘时的移动方法进行移动。

    五个圆盘的汉诺塔游戏顺利完成。

    六个圆盘以及六个以上圆盘的游戏也是这样进行。不同之处就是移动的步数增加了许多。

    五个圆盘汉诺塔移动步骤

    1、将n-1片圆盘从A移动到B上

    2.将第n片圆盘从A移动到C上

    3.将n-1片圆盘从B移动到C上

    将之变为可运行的代码为:

    def move(n, a, b, c): if n == 1: print(a, '--->', c) return else: move(n-1, a, c, b) move(1, a, b, c) move(n-1, b, a, c)

    第一次递归结果: A:0个B:n-1个C:1个

    第二次递归结果: A:n-2个     B: 0个C:2个

    爱***

    2023-08-18 13:00:28

  • 生活 相关知识

  • 生活
  • 日常生活

相关推荐

正在加载...
最新问答 推荐信息 热门专题 热点推荐
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200

热点检索

  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
返回
顶部
帮助 意见
反馈

确定举报此问题

举报原因(必选):