python 递归实现汉诺塔算法

本文详细介绍了如何使用Python递归函数解决经典的汉诺塔问题。通过定义move函数,实现了将n个盘子从a柱移动到c柱的全过程,中间借助b柱作为辅助。代码清晰展示了递归调用的过程,即先移动n-1个盘子到辅助柱,再移动最底部的盘子,最后将辅助柱上的n-1个盘子移动到目标柱。

def move(n,a,b,c):
  if (n == 1):
  print ( "第 ", n ," 步: 将盘子由 " ,a ," 移动到 " ,c)
  #return

  else:
    move(n-1,a,c,b) #首先需要把 (N-1) 个圆盘移动到 b
    print ("A==>b")
    move(1,a,b,c) #将a的最后一个圆盘移动到c

    move(n-1,b,a,c) #再将b的(N-1)个圆盘移动到c
    print ("B==>c")

 


move(3,'a','b','c')

转载于:https://www.cnblogs.com/hisuper/p/9803287.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值