欢迎来到KhqHBU的博客

The less is more.

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

 

posted @ 2019-05-16 19:22  KhqHBU  阅读(978)  评论(0编辑  收藏  举报
长风破浪会有时,直挂云帆济沧海。