你能搞定64个圆盘的“汉诺塔”吗

4周前 (11-14 14:11)阅读1回复0
大清
大清
  • 管理员
  • 注册排名9
  • 经验值93510
  • 级别管理员
  • 主题18702
  • 回复0
楼主

诶?你们晓得图片里五颜六色的圆环是什么吗?

今天小D教师就来给各人分享一下那个好玩的益智游戏:汉诺塔

小伴侣们日常平凡除了进修、阅读、磨练身体之外,也别忘了开动一下小脑袋瓜呀~

汉诺塔|古老传说

关于汉诺塔,法国数学家爱德华·卢卡斯曾编写过如许一个印度的古老传说:在世界中心贝拿勒斯(在印度北部)的圣庙里,一块黄铜板上插着三根宝石针。印度教的主神梵天在创造世界的时候,在此中一根针上从下到上地穿好了由大到小的64个圆盘,那就是所谓的汉诺塔(Tower of Hanoi)。

不管白日黑夜,总有一个僧侣在挪动那些圆盘,一次只挪动一个,小的圆盘必需在大的上面。僧侣们预言,当所有的圆盘都从梵天穿好的那根针上移到别的一根针上时,世界就将在一声霹雳中消亡,而寺院和寡生也都将同回于尽……

汉诺塔|弄法解析

看了汉诺塔的古老传说,有没有很想亲身脱手试一试哇?其实游戏规则很简单:

· 把所有的圆盘都挪动到目标柱上

· 每次都只能挪动一个,并且小圆盘必需要在大圆盘上面

家长能够带着孩子一路脱手测验考试一下哦~不外小D教师要提醒各人,汉诺塔游戏的柱子永久都只要三根,但是圆盘的数量是不固定的,能够随意增减。所以说,跟着圆盘数量的增加,操做难度也会随之提拔。

假设只要1个圆盘,一步就能够完成;2个圆盘,三步完成;可是当圆盘数量增加到3个、4个、5个的时候,会需要更多的步调。那假设增加到几十个圆盘呢,你还晓得怎么挪动吗?

各人是不是很猎奇:莫非那个游戏有什么法门?还实有,其实不管挪动几个圆盘,只要“解题”构想对了,再多都不是事儿~

汉诺塔

|递回算法

汉诺塔问题在数学界有很高的研究价值。想要求解汉诺塔问题,能够用递回算法(递回是指一个函数不竭引用本身,曲到引用的独一已知对象时行的过程。)看不懂也不妨呀,接触编程的过程中会更深进的进修。

下面我们就来揭秘一下汉诺塔背后的“奥秘”吧。

那里以5个圆盘为例:

如图所示,从左至右依次是A、B、C三个柱子,A柱子按上小下大的挨次放着5个圆盘,从上到下编号为1-5。

使命目标:请你将5个圆盘全都从A柱子挪动到C柱子,能够借助B柱子。要求在挪动的过程中必需包管小的在上,大的鄙人,每次只能挪动一个圆盘。

你只要想,要把5个圆盘从A柱子移到C柱子,假设有人能将上面的4个圆盘移到B座,我就能将第5个圆盘从A柱子移到C柱子,再请他把上面的4个圆盘移回到C柱子不就行了吗?

那就相当于把1~4号圆盘打包,看做一个整体。那就相当于我们只要2个圆盘,操做只要三步:

1) 把1~4号圆盘从A移到B

2) 把5号圆盘从A移到C

3) 把1~4号圆盘从B移到C

上面做为整体的4个圆盘又能够陆续分为两部门:1~3号圆盘为一个整体,如今又相当于只剩下2个圆盘了,仍然是需要三步完成。怎么样,如许看起来是不是简单多了?换个角度想,晓得了5个圆盘是怎么挪动的,6个圆盘的问题就迎刃而解了。

划重点:假设圆盘总数为“n”(n为未知数),晓得了“n-1”个圆盘是怎么挪动的,n个圆盘的问题就能迎刃而解。根据那个构想,问题的规模不竭变小,曲到剩1个圆盘的时候,挪动就完成啦!

汉诺塔

|巧用Scratch

当圆盘数量少的时候,我们能很快的手动破解出来,但是假设圆盘数量增加到几十个,以至是几百个、几千个的时候,又该怎么完成呢?所以,那个时候就需要计算机的帮手啦~

用少儿编程软件Scratch能够轻松处理那个问题👇

下面的法式演示了5个圆盘的汉诺塔,用短短几行代码就能完成手动至少需要63步才气完成的使命,能够让孩子根据代码亲身脱手测验考试一下~

代码运行过程图

更多编程常识及材料,请在淘宝搜刮蓝桥青少店,能够进店看看哦!

0
回帖

你能搞定64个圆盘的“汉诺塔”吗 期待您的回复!

取消
载入表情清单……
载入颜色清单……
插入网络图片

取消确定

图片上传中
编辑器信息
提示信息