诶?你们晓得图片里五颜六色的圆环是什么吗?
今天小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步才气完成的使命,能够让孩子根据代码亲身脱手测验考试一下~
代码运行过程图
更多编程常识及材料,请在淘宝搜刮蓝桥青少店,能够进店看看哦!