如何玩八层的汉诺塔?
http://blog.sina.com.cn/s/blog_68507b0a0100onrr.html
记住这个规律,以后玩汉诺塔基本上就是体力劳动了。
规律:
先小后大,单左双右,循环。
设3个柱子分别是甲,乙,丙,把3根柱子看成一个循环,也就是说,甲的右边是乙,乙的右边是丙,而丙的右边则回到甲,同理,甲的左边就是丙。简单点,记住丙的右边是甲,和甲的左边是丙就行了。
盘子分别是盘1,盘2,盘3,盘4……盘1最小。
按照“单左双右”的规律,先移动小的,也就是先移动盘1,再移动盘2,盘3,按顺序,把能移动的都移动一次,每次移动一步,如果不符合游戏规则,就移动两步,还是不符合的话,就找到盘1,重新按照“单左双右”的规则走,直到完成游戏。
例:3个盘子,单数,向左走。
1,盘1向左移动一步,到丙柱。
2,盘2向左移动一步,不符合游戏规则,移动两步,到乙柱。
3,盘3向左移动一步,不符合游戏规则,移动两步,不符合游戏规则。找到最小的盘1,向左移动一步,移动到乙柱。
4,盘2被盘1压住,无法移动。盘3向左移动一步,到丙柱。
5,找到最小的盘1,向左移动一步,到甲柱。
6,盘2向左移动一步,不符合游戏规则,移动两步,到丙柱。
7,盘3被盘2压住,无法移动。找到最小的盘1,向左移动一步,到丙柱。
游戏完成。
汉诺塔算法介绍:
一位美国学者发现的特别简单的方法:只要轮流用两次如下方法就可以了。
把三根柱子按顺序排成“品”字型,把所有圆盘按从大到小的顺序放于柱子A上,根据圆盘数量来确定柱子排放的顺序:
n若为偶数的话,顺时针方向依次摆放为:ABC;而n若为奇数的话,就按顺时针方向依次摆放为:ACB。这样经过反复多次的测试,最后就可以按照规定完成汉诺塔的移动。
因此很简单的,结果就是按照移动规则向一个方向移动金片:
如3阶汉诺塔的移动:A→C,A→B,C→B,A→C,B→A,B→C,A→C。
扩展资料:
汉诺塔经典题目:
三根相邻的柱子,标号为A,B,C,A柱子上从下到上按金字塔状叠放着n个不同大小的圆盘,要把所有盘子一个一个移动到柱子B上,且每次移动同一根柱子上都不可以出现大盘子在小盘子上方的情况。
至少需要几次移动的问题,我们设移动次数为H(n)。
把上面n-1个盘子移动到柱子C上,把最大的一块放在B上,把C上的所有盘子移动到B上,由此我们得出表达式:
H⑴ = 1
H(n) = 2*H(n-1)+1 (n>1)
很快我们就可以得到H(n)的一般式为:
H(n) = 2^n - 1 (n>0)
且这种方法的确是最少次数的,证明非常简单,可以尝试从2个盘子的移动开始证,可以试试。
进一步加深问题:
假如现在每种大小的盘子都有两个,并且是相邻的,设盘子个数为2n,问:⑴假如不考虑相同大小盘子的上下要几次移动,设移动次数为J(n);⑵只要保证到最后B上的相同大小盘子顺序与A上时相同,需要几次移动,设移动次数为K(n)。
⑴中的移动相当于是把前一个问题中的每个盘子多移动一次,也就是:
J(n) = 2*H(n) = 2*(2^n - 1) = 2^(n+1)-2
在分析⑵之前,我们来说明一个现象,假如A柱子上有两个大小相同的盘子,上面一个是黑色的,下面一个是白色的,我们把两个盘子移动到B上,需要两次。
盘子顺序将变成黑的在下,白的在上,然后再把B上的盘子移动到C上,需要两次,盘子顺序将与A上时相同,由此我们归纳出当相邻两个盘子都移动偶数次时,盘子顺序将不变,否则上下颠倒。
回到最开始的问题,n个盘子移动,上方的n-1个盘子总移动次数为2*H(n-1),所以上方n-1个盘子的移动次数必定为偶数次,最后一个盘子移动次数为1次。
讨论问题⑵:
综上可以得出,要把A上2n个盘子移动到B上,可以得出上方的2n-2个盘子必定移动偶数次,所以顺序不变,移动次数为:
J(n-1) = 2^n-2
然后再移动倒数第二个盘子,移动次数为2*J(n-1)+1 = 2^(n+1)-3,
最后移动最底下一个盘子,所以总的移动次数为:
K(n) = 2*(2*J(n-1)+1)+1 = 2*(2^(n+1)-3)+1 = 2^(n+2)-5
参考资料:
汉诺塔(益智玩具)-百度百科
8层汉诺塔共有: 2^8 - 1 = 255个步骤
以下是移动的过程:(说明: A表示第一个柱子 B表示第二个珠子 C表示第三个柱子 -->表示盘的移动方向)
汉诺塔算法介绍:
把三根柱子按顺序排成“品”字型,把所有圆盘按从大到小的顺序放于柱子A上,根据圆盘数量来确定柱子排放的顺序:n若为偶数的话,顺时针方向依次摆放为:ABC;而n若为奇数的话,就按顺时针方向依次摆放为:ACB。
这样经过反复多次的测试,最后就可以按照规定完成汉诺塔的移动。因此很简单的,结果就是按照移动规则向一个方向移动金片:如3阶汉诺塔的移动:A→C,A→B,C→B,A→C,B→A,B→C,A→C。
西街酷玩鲁班工作室
如何玩八层的汉诺塔?
8层汉诺塔共有: 2^8 - 1 = 255个步骤 以下是移动的过程:(说明: A表示第一个柱子 B表示第二个珠子 C表示第三个柱子 -->表示盘的移动方向)对于汉诺塔问题的求解,可以通过以下三个步骤:1、将塔A上的n-1个碟子借助塔C先移到塔B上。2、把塔A上剩下的一个碟子移到塔C上。3、将n-...
汉诺塔怎么玩8层教程
汉诺塔怎么玩8层教程:1、盘1向左移动一步,到丙柱。2、盘2向左移动一步,不符合游戏规则,移动两步,到乙柱。3、盘3向左移动一步,不符合游戏规则,移动两步,不符合游戏规则。4、找到最小的盘1,向左移动一步,移动到乙柱。5、盘2被盘1压住,无法移动。6、盘3向左移动一步,到丙柱。7...
汉诺塔怎么玩8层教程
汉诺塔的玩法:盘1向左移动一步,到丙柱。盘2向左移动一步,不符合游戏规则,移动两步,到乙柱。盘3向左移动一步,不符合游戏规则,移动两步,不符合游戏规则。找到最小的盘1,向左移动一步,移动到乙柱。盘2被盘1压住,无法移动。盘3向左移动一步,到丙柱。找到最小的盘1,向左移动一步,...
8层汉诺塔最简单的玩法
8层汉诺塔最简单的玩法如下:游戏里有三根柱子,左边的柱子上从下往上按照大小顺序摞着N片圆盘。玩家需要做的是把圆盘从下面开始按从大顺序重新摆放在右边的柱子上。并且规定,在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘。柱子是在一个平板底座上间隔一定距离的三根完全一样的柱子。柱...
如何玩八层的汉诺塔 我给跪了。。。
楼主你好 8层汉诺塔共有: 2^8 - 1 = 255个步骤 以下是移动的过程:(说明: A表示第一个柱子 B表示第二个珠子 C表示第三个柱子 -->表示盘的移动方向)希望能帮助你哈
汉诺塔8层最快多少时间
2分30秒。汉诺塔是一种经典的数学问题,是基于一个简单的规则,但解决问题的方法却非常深奥,而8层汉诺塔的难度较大,需要玩家具有较强的思维逻辑能力和空间感知能力,同时需要玩家掌握正确的移动顺序和步骤,才能够成功完成游戏,因此汉诺塔8层的最好纪录是2分30秒。
汉诺塔该怎么玩,方法
其实汉诺塔只要掌握规律,多少层都是一样的。最重要的是第一块放在哪儿,单数层的汉诺塔一定要放在第三柱,双数层的要放在第二柱。如果你会六层的汉诺塔,(将第一块放在第三柱),将六块都移到第二柱,最后一块移到第三柱,再如前法将上面六块都移到第三柱。就OK了。
汉诺塔怎么玩
将回到原始状态,接着开始。汉诺塔游戏的技巧:汉诺塔规律总结口诀为单左双右,先小后大,一步两步循环往复。单数层的汉诺塔一定要放在第三柱,双数层的要放在第二柱。例如六层的汉诺塔,(将第一块放在第三柱),将六块都移到第二柱,最后一块移到第三柱,再如前法将上边六块都移到第三柱。
汉诺塔的玩法
《汉诺塔》游戏的技巧:汉诺塔规律总结口诀为单左双右,先小后大,一步两步循环往复。单数层的汉诺塔一定要放在第三柱,双数层的要放在第二柱。例如六层的汉诺塔,(将第一块放在第三柱),将六块都移到第二柱,最后一块移到第三柱,再如前法将上边六块都移到第三柱。
汉诺塔该怎么玩,方法
汉诺塔算法介绍:一位美国学者发现的特别简单的方法:只要轮流用两次如下方法就可以了。把三根柱子按顺序排成“品”字型,把所有圆盘按从大到小的顺序放于柱子A上,根据圆盘数量来确定柱子排放的顺序:n若为偶数的话,顺时针方向依次摆放为:ABC;而n若为奇数的话,就按顺时针方向依次摆放为:ACB。
云平恩必: 汉诺塔8层是难的.汉诺塔是一款智力型动手游戏,最高难度就是第八层,最快情况下,需要255步才可以完成,因此很难,成年人最快也需要6分钟通关.每个人的认知和感觉可能会有所不同,如果针对某个人来说汉诺塔的难度很高,那可能对他来说是一种挑战,但相反,如果某个人觉得汉诺塔很容易,那么对他来说就相对不那么难.因此,对于汉诺塔8层的难度,不同的人可能会有不同的评价.
宝丰县18984353043: 汉诺塔的八珠解法 - ?
云平恩必: 汉诺塔(又称河内塔)问题是印度的一个古老的传说.开天辟地的神勃拉玛在一个庙里留下了三根金刚石的棒,第一根上面套着64个圆的金片,最大的一个在底下,其余一个比一个小,依次叠上去,庙里的众僧不倦地把它们一个个地从这根棒搬...
宝丰县18984353043: 史上最难智力游戏第五关汉诺塔怎么过 - ?
云平恩必: 通关步骤: 1.如下图所示:柱子从左到右设为:ABC ;环从小到大设为:12345; 2.移动方法: 1→C,2→B,1→B,3→C,1→A,2→C,1→C,4→B; 1→B,2→A,1→A,3→B,1→C,2→B,1→B,5→C; 1→A,2→C,1→C,4→A,1→B,2→A,1→A,4→C; 1→C,2→B,1→B,3→C,1→A,2→C,1→C,完成!
宝丰县18984353043: 汉诺塔8层求解 - ?
云平恩必: 汉诺塔,是一个用递归解决的问题,具体就是,A柱子上有2个环XY,借助B环到达C环,递归就是这个逻辑,X到B,Y到C,X再到C,这就是函数内容,如果不懂,也可以去百度下 汉诺塔 递归
宝丰县18984353043: 汉诺塔问题公式是什么? - ?
云平恩必: 汉诺塔问题(又称河内塔问题)是根据一个传说形成的一个问题:有三根杆子A,B,C.A杆上有N个(N>1)穿孔圆盘,盘的尺寸由下到上依次变小.要求按下列规则将所有圆盘移至C杆:1. 每次只能移动一个圆盘; 2. 大盘不能叠在小盘上面. ...
宝丰县18984353043: 6层的汉诺塔怎么玩啊? - ?
云平恩必: A------->BA------->CB------->CA------->BC------->AC------->BA------->BA------->CB------->CB------->AC------->AB------->CA------->BA-------...
宝丰县18984353043: Wp8Doors游戏42关怎么点?
云平恩必: http://wp.8miu.com/thread-833460-1-1.html WP版密室逃脱类解谜游戏《DOORS》过关攻略 第42关:这关就是汉诺塔,只要把所有的盘子按大小顺序全移到中间就好了,不难,慢慢移动吧
宝丰县18984353043: 有关汉诺塔的传说!? - ?
云平恩必: 相传在印度的贝纳雷斯有座大寺庙,寺庙内有一块红木板,上面插着三根钻石棒,在盘古开天地,世界刚创造不久之时,神便在其中的一根钻石棒上放了64枚纯金的圆盘.有一个叫婆罗门的门徒,不分日夜地向这座寺庙赶路,抵达后,就尽力将...
宝丰县18984353043: C语言 -- 汉诺塔程序执行步骤 - ?
云平恩必: 这个问题你要先把递归搞懂才能理解的, 最好是单跟踪执行一下, 我这里就简单说一下吧! hanoi(5, 'a', 'b', 'c');把5个从'a'移到'c' 这时n=5, noe='a', two='b', three='c' 因为n!=1, 执行else里的 hanoi( 4, 'a', 'c', 'b'); //把上面4个从a移到b move( 'a', 'c'...
宝丰县18984353043: 5层汉诺塔游戏31步怎么移到另一个柱子上? - ?
云平恩必: 5层汉诺来塔游戏弄好四层后,先把上面的四个借助第三根柱子移到第二根柱子上,再把剩下的一个移到第三根柱源子上,最后借助第一根柱子将第二根柱子上的移到第三根柱子上去.1. 汉诺塔,又称河内塔,是一款WP7平台上源于印度一个古老传说的益智类游戏. 2. 汉诺塔:传说上帝创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上安大小顺序摞着64片黄金圆盘.上帝命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上.并且规定,在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘.