python解决经典递归问题:汉诺塔hanoi

问题没有必要过多介绍
步数=2^n-1
这里要求输出步骤

def hanoi(n,x,y,z):#n为盘子数目,xyz表示三根柱子
    if n==1:#一个盘子单列
        print(x, '-->', z)
    else:
        hanoi(n-1,x,z,y)#将n-1个盘子从x移动到y
        print(x, '-->', z)
        hanoi(n-1,y,x,z)#将y上的n-1个盘子移动到z
n=int(input())
hanoi(n,'x','y','z')

猜你喜欢

转载自blog.csdn.net/qq_53029299/article/details/114845839