汉诺塔

混江龙づ霸主 提交于 2020-03-01 08:42:09
#!/usr/bin/env python3


def hannuota(n, a, b, c):
    if n == 1:
        print(a, '-->', c)
#    elif n == 2:
#        print(a, '-->', b)
#        print(a, '-->', c)
#        hannuota(1, b, a, c)
    else:
        hannuota(n - 1, a, c, b)  #以C盘为中介,从A杆将1至n-1号盘移至B杆;
        print(a, '-->', c)  #将A杆中剩下的第n号盘移至C杆;
        hannuota(n - 1,  b, a, c)  #以A杆为中介;从B杆将1至n-1号盘移至C杆

hannuota(5, 'A', 'B', 'C')

把A杆上的金盘全部移到C杆上,并仍保持原有顺序叠好。操作规则:每次只能移动一个盘子,并且在移动过程中三根杆上都始终保持大盘在下,小盘在上,操作过程中盘子可以置于A、B、C任一杆上。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!