关于hanoi的问题,我就不重复叙述了,在看Cmath的时候看到一道例题,能够测试对递归概念的理解
递归问题的练习2
在hanoi问题的基础上,对盘的移动规则做了进一步限制,每个盘不能在A、B之间直接移动,必须从其中一柱开始,经过mid,再移动到另一柱上。如图
将所有盘移动到B所需步数为H(n)
将盘2、。。。、n 作为一个整体(取名为n-1个盘),移动到B或从B移动回A的步数则为H(n-1);
具体移动的步骤:
1。将“n-1个盘”移动到B——用H(n-1)步
2。将盘1移动到mid——用1步
3。将“n-1个盘”移动到A——用H(n-1)步
4。将盘1从mid移动到B——用1步
5。将“n-1个盘”从A移动到B——用H(n-1)步
则原来的问题的递归为: H(n)=3H(n-1)+2;