Python--Hanoi塔问题

要求:

利用问题归约法实现Hanoi塔,主要包括主函数、函数hanoi与搬移函数move,要求在主函数中接收盘子数目并调用hanoi函数。

代码:

def hanoi(n,x,y,z):
    if n<0:
        print("请输入一个大于0的数!")
    elif n==1:
        print(x,"-->",z)
    else:
        hanoi(n-1,x,z,y)
        print(x,"-->",z)
        hanoi(n-1,y,x,z)
n=int(input('请输入你想移动的柱子树n:'))
step=2**n-1
print(hanoi(n,'','',''))
print("一共移动步数为:{}".format(step))
View Code
原文地址:https://www.cnblogs.com/khqhbu/p/10877498.html