天天看點

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