河内塔是根据一个传说所形成的一个数学游戏。
它是由三根杆子以及不同大小的数个盘子组成的。
游戏规则很简单,就是在大盘不能叠在小盘上面的情况下,以每次只能移动一个圆盘到另外一个杆子,的规律让所有的盘子从第一根移到第三根杆子。
河内塔的传说:
传说印度某间寺院有三根柱子,上串着64个金盘。寺院里的僧侣依照一个古老的预言,以上述规则移动这些盘子;预言说当这些盘子移动完毕,世界就会灭亡。这个传说叫做梵天寺之塔问题(Tower of Brahma puzzle)。
最早发明这个问题的人是法国数学家爱德华·卢卡斯。而传说也是从他那里开始流传的,但不知道这个传说是卢卡斯自创的,还是他受他人启发。
这个传说有若干变体:寺院换成修道院、僧侣换成修士等等。寺院的地点众说纷纭,其中一个比较受人接受的说法,是位于越南的河内,所以被命名为“河内塔”。另外亦有“金盘是创世时所造”、“僧侣们每天移动一盘”之类的背景设定。
佛教中确实有“浮屠”(塔)这种建筑;有些浮屠亦遵守上述规则而建。“河内塔”一名可能是由中南半岛在殖民时期传入欧洲的。
若传说属实,僧侣们需要2
64 − 1步才能完成这个任务;若他们每秒可完成一个盘子的移动,就需要5846亿年才能完成。整个宇宙现在也不过137亿年。
河内塔的解法:
将三根杆子化为A,B,C
然后将盘子的数量预设为N(N>1)
这个游戏有许多的解决方法,而且圆盘数量可以任意数值,具有无比的挑战性。
在一般的玩具中,常见的为7~9个圆盘。
而河内塔最低的移动方案为:2
n-1
解说理论:
1.必须将最小的和非最小的移动到备用的杆子之间。
2.往相同的方向,一直移动最小的圆盘。(偶数往右,奇数往左)
3.如果所选择的方向没有塔,那么就移动到另外一端。(移动方向必须正确)
比如:N=3
1.那么你开始会把最小的移动到最尾端,
2.再把第二小的移动到中间,
3.把最小的移动到第二小的上方。
4.移动最大的到最尾端。
5.将最小的往左移动一格(回到第一个杆子)
6.把第二小的往右移(到达第三个杆子)
7.把最小的往左移。(到达第三个杆子)
你就完成了!
移动步数:2
3 - 1 = 8 - 1 = 7
二进制的解决方案
为了方便电脑解决问题,这里顺便提供了二进制的解决方案。
内河循环规律的解法
移动N - 1盘顺时针方向从A到C
移动盘从A到B#N
移动N - 1盘逆时针从C到A
移动盘从B到C#N
移动N - 1盘顺时针方向从A到C
解说图:
总结:
如取N=64,最少需移动264-1次。即如果一秒钟能移动一块圆盘,仍将需5845.54亿年。目前按照宇宙大爆炸理论的推测,宇宙的年龄仅为137亿年。
在真实玩具中,一般N=8;最少需移动255次。如果N=10,最少需移动1023次。如果N=15,最少需移动32767次;这就是说,如果一个人从3岁到99岁,每天移动一块圆盘,他最多仅能移动15块。如果N=20,最少需移动1048575次,即超过了一百万次。
也就是说,如果河内塔传说是真的,那么至少还有(5845.54-137)=578.54亿年才会世界末日