汉罗塔(河内塔)问题的数学模型

问题引入:

给定A、B、C三个木桩子,给定由n个圆盘组成的塔(n个圆盘满足从上到小大小递减的顺序套在A桩上),我们要做的是要将A桩子上的所有圆盘移动到B桩子上,要求每次只能移动一个圆盘,并且移动的全程满足较大盘在较小盘的下面。

具体理解如下图:

汉罗塔(河内塔)问题的数学模型

注意:T后面的数字或字母均是下标。(可以理解成高中数学中数列的表示方法An)

思路引入:我们假设Tn是将n个圆盘从A移动到B 上用的最少次数, 显然T1=1,T2=3,然后我们考虑,将n-1个圆盘从A移动到C。 需要移动T(n-1)次,再将最大的一个从A移动到B需要1次。 然后再把C上的n-1个圆盘移动到B上有需要T(n-1)次。所以能够得到要完成汉罗塔,从A上把所有的圆盘移动到B上需要T(n-1)+1+T(n-1) 次。

所以,移动n个圆盘需要Tn次。Tn=2T(n-1)+1。 接下来呢?

我想到了怎么求高中数学中数列中的通项公式。

汉罗塔变为

汉罗塔(河内塔)问题的数学模型