游戏规则
有3根细柱子(A,B,C)。A柱上套着6个圆盘。圆盘按照从第一个圆柱放到最后一个圆柱上面
Snipaste_2020-03-17_22-04-34.png-
一次只能移动柱子最上端的一个圆盘
-
小圆盘上不可以放大的圆盘
-
那么最少要移动多少次了?
解决问题
-
先将复杂的问题简单化,我们可以先考虑如果是3个圆盘的时候一共需要多少次
-
简单的计算之后可以得到是7次移动可以解决问题
-
那么6层汉诺塔
-
首先,将5个圆盘从移动到C
-
然后,将6个之中最大的圆柱从A移动到B柱
-
最后,将5个圆盘从C柱移动到B柱
-
n层汉诺塔,所需要最少的移动次数为H(n)
-
在n等于0的时候值为0
-
n大于0的时候等于H(n-1)+1+H(n-1)
-
H6的值就是63
这种H(n)和H(n-1)的关系称为递推公式
网友评论