汉诺塔数学游戏中64个金(实心)盘需要移动多少次?
对了,应该有三列(1号是原列,2号是交换列,3号是目标列),一列放64个金盘(从小到大依次)。规则是一次一个,大的不能压下,金盘必须在柱上。
移动n个金盘所需的最少步骤数是2 n-1。所以移动64个块需要2个64-1 = 1844674073709551615步。
假设修士们以每块1秒的速度移动金盘,24小时没有走错一步,那么移动64块至少需要1844674073709551615秒。
即:184438+0615/60/60/24/365 = 18689805
粗略地说,需要5800亿年太阳的年龄预计只有6543.8+000亿年,而根据目前的理论,宇宙的寿命仍在300亿年左右。所以世界末日会在板块移动之前到来。
ps最小步骤的证明;
用递归的思想证明:我们知道如果要移动N个金盘,可以先把N-1个金盘看成一组,先按规则移动N-1,再移动第N个。如果要移动N-1,需要先移动N-2,以此类推。
按照这个思路,我们在移动两个块的时候可以简化移动N个块到模型,即移动N-1个块到列2,移动N-1个块到列3,那么使用的步数就是:移动N-1个块需要的步数+1(移动
设an为快速移动N所需的步数,则有:
an=2*a(n-1)+1
我们也知道a1=1(移动一个棋子只需要一步),那么我们可以写出序列:
1 ,2*1+1,2*3+1,2*7+1 ……
即:1,1+2,1+2+4,1+2+4+8...
观察表明an = 2 n-1。
通过科学归纳,可以证明an = 2 n-1是数列的通项。
因此,完成N-fast的最少步骤数是2 N-1。