小学数学6年级奥赛题求解(汉诺塔问题)

来源:百度知道 编辑:UC知道 时间:2024/06/25 10:50:26
有甲乙丙三个木柱,甲柱上套着五个中间有孔大小不同的圆盘,大的在下,小的在上。现要把甲柱上的圆盘全部移到乙柱上,规定每次只能把装在最上面的一个圆盘从一根木柱上移到另一根上,但大盘不能放在小盘上面。问:至少要移多少次?
chd19970620 请问这个公式是什么意思?

这个题目对于小学数学来说有点深

先看看这个题目的来历吧:
关于汉诺塔
在印度,有这么一个古老的传说:在世界中心贝拿勒斯(在印度北部)的圣庙里,一块黄铜板上插着三根宝石针。印度教的主神梵天在创造世界的时候,在其中一根针上从下到上地穿好了由大到小的64片金片,这就是所谓的汉诺塔。不论白天黑夜,总有一个僧侣在按照下面的法则移动这些金片:一次只移动一片,不管在哪根针上,小片必须在大片上面。僧侣们预言,当所有的金片都从梵天穿好的那根针上移到另外一根针上时,世界就将在一声霹雳中消灭,而梵塔、庙宇和众生也都将同归于尽。

不管这个传说的可信度有多大,如果考虑一下把64片金片,由一根针上移到另一根针上,并且始终保持上小下大的顺序。这需要多少次移动呢?这里需要递归的方法。假设有n片,移动次数是f(n).显然f(1)=1,f(2)=3,f(3)=7,且f(k+1)=2*f(k)+1。此后不难证明f(n)=2^n-1。

所以如果有n个圆盘的话,至少要移2^n-1次
2^n-1:就是2的n次方减去一次

例如:
有五个圆盘,至少要移2^5-1次(2的5次方-1)=32-1=31次

这好像是个游戏啊呵呵
当时都是随便凑的没有计算过步骤
现在也具体说不上来了
大概要20步左右

n=2^t-1
n是次数,t是碟子数
2*3-1=5次

5次

5

2^n-1
(7) 先不动最下面的确,把其它的移到乙柱(1){f(k)},
把最大的移到丙柱{ 1 },重复(1){f(k)}
f(k+1)=2*f(k)+1
用递归思路编程,可得n个盘子的移动过程.
------