天天看点

Day5、Python

题目 汉诺塔

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、显示结果

Day5、Python