python 汉诺塔问题(Tower of Hanoi Puzzle)

有三根相邻的柱子,标号为X,Y,Z,A柱子上从下到上按金字塔状叠放着n个不同大小的圆盘,要把所有盘子一个一个移动到柱子Z上,并且每次移动同一根柱子上都不能出现大盘子在小盘子上方,应该怎么移动?

def hanoi(n,x,y,z):
    if n==1:
        print x+'-->'+z
        return
    hanoi(n-1,x,z,y)
    print x+'-->'+z
    hanoi(n-1,y,x,z)
#n=int(input())
hanoi(5,'X','Y','Z')
    原文作者: 汉诺塔问题
    原文地址: https://blog.csdn.net/And_w/article/details/50926893
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞