看谭老师著名的C语言教材一直没有搞懂汉诺塔的递归原理,
偶尔看到一本c++教材上讲解的比较详细,就用python写了一个解法,总共5行代码,还是挺简单的。写的时间比较久远了,等我找到那本书,再把书中的解析附上。
# 参数的含义为(盘子总数,起始杆,中间杆,目标杆)
def moveDisk(count, needle1, needle2, needle3):
if count > 0:
# 将除最底盘以外的盘子从1杆移到2杆
moveDisk(count-1
看谭老师著名的C语言教材一直没有搞懂汉诺塔的递归原理,
偶尔看到一本c++教材上讲解的比较详细,就用python写了一个解法,总共5行代码,还是挺简单的。写的时间比较久远了,等我找到那本书,再把书中的解析附上。
# 参数的含义为(盘子总数,起始杆,中间杆,目标杆)
def moveDisk(count, needle1, needle2, needle3):
if count > 0:
# 将除最底盘以外的盘子从1杆移到2杆
moveDisk(count-1