作为一名python小白,在初学python的这几日遇到了一个还算有趣的问题,就是汉诺塔移动路径的打印,在这里简单说下:
汉诺塔问题:汉诺塔是由三根杆子A,B,C组成的。A杆上有N个(N>1)穿孔圆盘,盘的尺寸由下到上依次变小。要求按下列规则将所有圆盘移至C杆:每次只能移动一个圆盘;大盘不能叠在小盘上面。
一开始看到问题,感到很懵,所以我决定用最笨的方法来看看它会不会有什么规律,我把n=1,2,3,4时的所有移动路径都写了出来,如下表:
n=1
n=2
n=3
n=4
A->C
A->B
A->C
A->B
A->C
A->B
A->C
B->C
C->B
B->C
A->C
A->B
B->A
C->A
B->C
C->B
A->C
A->B
A->C
B->C
B->A
C->A
B->C
A->B
A->C
B->C
根据表格中的路径我发现,路径步骤数=2^n-1,并且都被A->C分为等步骤数的两部分,而这两