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
023汉诺塔
猜你喜欢
转载自blog.csdn.net/qq_33651064/article/details/102828031
今日推荐
周排行