汉诺塔(递归思想)py

汉诺塔解析:
通过递归的方法来找出解决方法
首先可以把好几层的汉诺塔分为两层:
x1层包含了n-1层,x2层就是第n层
这样的解决方法就是把
把x1层放在中间
x2层放在最左边
再把x1层放在最左边

因为x1层里面又包含了y1和y2,y1又包含z1,z2 …
同理进行上述操作
直到z1中不包含h1和h2了(只有一个)
所以其代码就是
‘代码中的xyz可以理解为,初始位置,路径,目标’
def hannuoi(n,x,y,z):
if n==1:
print(x,’->’,z)
else:
hannuoi(n-1,x,z,y)
print(x,’->’,z)
hannuoi(n-1,y,x,z)

input:hannuoi(3,‘x’,‘y’,‘z’)
output:
x -> z
x -> y
z -> y
x -> z
y -> x
y -> z
x -> z

猜你喜欢

转载自blog.csdn.net/hallow_word/article/details/105451085