要求:
利用问题归约法实现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))