用Python实现汉诺塔递归解法

本文通过Python展示了汉诺塔问题的递归解决方案,仅用5行代码实现。理解递归的关键在于将3个盘子分成两部分,然后通过将盘子视为整体并移动到目标位置来解决问题。当有n个盘子时,需要移动2的n次方减1步。代码来源于《C++编程–数据结构与程序设计方法》,并提供了其他书籍中关于递归思想的推荐。
摘要由CSDN通过智能技术生成

看谭老师著名的C语言教材一直没有搞懂汉诺塔的递归原理,
偶尔看到一本c++教材上讲解的比较详细,就用python写了一个解法,总共5行代码,还是挺简单的。写的时间比较久远了,等我找到那本书,再把书中的解析附上。

# 参数的含义为(盘子总数,起始杆,中间杆,目标杆)
def moveDisk(count, needle1, needle2, needle3):
	if count > 0:
		# 将除最底盘以外的盘子从1杆移到2杆
		moveDisk(count-1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值