023汉诺塔

def hanoi(n,x,y,z):      #从x借助y移动到z,这是变量,每次从一根针借助空针移动到另一根针
    if n == 1:
        print(x,"-->",z)
    else:
        #先将n-1个盘子移动到y上
        hanoi(n-1,x,z,y)
        #将最后一个盘子从x移到z
        print(x,'-->',z)
        #再将n-1的盘子从y移到z
        hanoi(n-1,y,x,z)

n = int(input("请输入汉诺塔的层数:"))
hanoi(n,"X","Y","Z")


请输入汉诺塔的层数:3
X --> Z
X --> Y
Z --> Y
X --> Z
Y --> X
Y --> Z
X --> Z
发布了61 篇原创文章 · 获赞 0 · 访问量 543

猜你喜欢

转载自blog.csdn.net/qq_33651064/article/details/102828031