汉诺塔(递归思想)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

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值