问题描述
有三根柱子A、B、C,A柱上有从小到大串着的盘子,B、C柱上什么东西都没有;
要求:每次只能移动一个盘子,柱子上只能的盘子只能从小到大排列,将A柱上的盘子移动到C柱上。
递推算法
计算机程序函数在定义或者说明时直接或间接的调用自己本身的一种方法;
解决分析
n=3时
具体做法:先将1从A移到C,再将2从A移到B,再将1从C移到B,将3从A移到C;将B上的1移到A,将B上的2移到C;最后将3从A移到C。
总结做法:
1.想办法将1和2从A移到B,将3从A移到C;
2. 将B上的1从B移到A,将2从B移到C;
3. 将A上的1从A移到C。
为n时:
1.将前n-1个盘子从A移动到B,将n从A移动到C;
2.将n-2个盘子从B移动到A,将n-1从B移到C;
3.将第一步中的n换成n-1,重复第一步第二步,直至全部移动到C。
注:将n-1