题目 汉诺塔
1、程序分析
Hanoi塔问题,算法分析如下,设A上有n个盘子(编号由上到下:1、2、3……、n)。A:初始塔,B:中转塔,C:目标塔
a、如果n=1,则将盘子从A塔直接移动到C塔(借助B塔)。
b、如果n=3,则:
(1)将A塔上编号1~2的盘子(2个盘子)移动到B塔上(借助C塔);
(2)将A塔上编号3的盘子(最后一个盘子)移动到C塔上;
(3)将B塔上编号1~2的盘子(2个盘子)移动到C塔上(借助A塔)。
c、延伸,如果n=num,则:
(1)将A塔上编号1~num-1的盘子(num-1个盘子)移动到B塔上(借助C塔);
(2)将A塔上编号num的盘子(最后一个盘子)移动到C塔上;
(3)将B塔上编号1~num-1的盘子(num-1个盘子)移动到C塔上(借助A塔)。
2、程序实现
3、显示结果
