汉诺塔规律总结相关内容

汉诺塔游戏规则

2777

汉诺塔怎么玩

一位美国学者发现的特别简单的方法:只要轮流用两次如下方法就可以了。

把三根柱子按顺序排成“品”字型,把所有圆盘按从大到小的顺序放于柱子A上,根据圆盘数量来确定柱子排放的顺序:

n若为偶数的话,顺时针方向依次摆放为:ABC;而n若为奇数的话,就按顺时针方向依次摆放为:ACB。这样经过反复多次的测试,最后就可以按照规定完成汉诺塔的移动。

因此很简单的,结果就是按照移动规则向一个方向移动金片:

如3阶汉诺塔的移动:A→C,A→B,C→B,A→C,B→A,B→C,A→C。

扩展资料:

由来

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

不论白天黑夜,总有一个僧侣在按照下面的法则移动这些金片:一次只移动一片,不管在哪根针上,小片必须在大片上面。僧侣们预言,当所有的金片都从梵天穿好的那根针上移到另外一根针上时,世界就将在一声霹雳中消灭,而梵塔、庙宇和众生也都将同归于尽。

参考资料来源:汉诺塔(益智玩具)-百度百科

...

16001

6层的汉诺塔怎么玩?

A------->B
A------->C
B------->C
A------->B
C------->A
C------->B
A------->B
A------->C
B------->C
B------->A
C------->A
B------->C
A------->B
A------->C
B------->C
A------->B
C------->A
C------->B
A------->B
C------->A
B------->C
B------->A
C------->A
C------->B
A------->B
A------->C
B------->C
A------->B
C------->A
C------->B
A------->B
A------->C
B------->C
B------->A
C------->A
B------->C
A------->B
A------->C
B------->C
B------->A
C------->A
C------->B
A------->B
C------->A
B------->C
B------->A
C------->A
B------->C
A------->B
A------->C
B------->C
A------->B
C------->A
C------->B
A------->B
A------->C
B------->C
B------->A
C------->A
B------->C
A------->B
A------->C
B------->C

...

7027

汉诺塔的移动规律是什么

20296

汉诺塔该怎么玩,方法

汉诺塔玩法如下:

有三根相邻的柱子,标号为A,B,C,A柱子上从下到上按金字塔状叠放着n个不同大小的圆盘,现在把所有盘子一个一个移动到柱子B上,并且每次移动同一根柱子上都不能出现大盘子在小盘子上方

拓展内容:

汉诺塔

一、简介

汉诺塔是由三根杆子A,B,C组成的。A杆上有N个(N>1)穿孔圆盘,盘的尺寸由下到上依次变小。要求按下列规则将所有圆盘移至C杆:每次只能移动一个圆盘;大盘不能叠在小盘上面。提示:可将圆盘临时置于B杆,也可将从A杆移出的圆盘重新移回A杆,但都必须尊循上述两条规则。问:如何移?最少要移动多少次?汉诺塔是根据一个传说形成的一个问题:

有三根杆子A,B,C。A杆上有N个(N>1)穿孔圆盘,盘的尺寸由下到上依次变小。要求按下列规则将所有圆盘移至C杆:

每次只能移动一个圆盘;

大盘不能叠在小盘上面。

提示:可将圆盘临时置于B杆,也可将从A杆移出的圆盘重新移回A杆,但都必须尊循上述两条规则。

问:如何移?最少要移动多少次?

二、公式

现在有三根相邻的柱子,标号为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


...

11367

如何玩八层的汉诺塔?

8层汉诺塔共有: 2^8 - 1 = 255个步骤

以下是移动的过程:(说明: A表示第一个柱子   B表示第二个珠子  C表示第三个柱子  -->表示盘的移动方向)


...

2461