python 汉诺塔问题

汉诺塔问题,是心理学实验研究常用的任务之一。该问题的主要材料包括三根高度相同的柱子和一些大小及颜色不同的圆盘,三根柱子分别为起始柱A、辅助柱B及目标柱C。

操作规则:每次只能移动一个盘子,并且在移动过程中三根杆上都始终保持大盘在下,小盘在上,操作过程中盘子可以置于A、B、C任一杆上。


def move(n,a,b,c):
    # 出口
    if n==1:
        print(a,'--->',c)
    else:
        # 递归的思想就是先把(n-1)从a移动到b,再把最后一个从a移动到c,最后把那(n-1)个从b移动到c
        move(n-1,a,c,b)
        move(1,a,b,c)
        move(n-1,b,a,c)
move(3,'a','b','c')   
#a ---> c
#a ---> b
#c ---> b
#a ---> c
#b ---> a
#b ---> c
#a ---> c
原文地址:https://www.cnblogs.com/hooo-1102/p/11812987.html