# #递归解决hanoi塔问题(持续将第n块盘子放到目的柱,然后将n-1块盘子放入中间柱,再把第n-1块盘子放到目的柱,持续如此) # def move(n,a,b,c): #n为盘子数量,a为起始柱,b为中间柱,c为结束柱子 # if n == 1: # print('%s - -> %s' % (a, c)) # return # else: # move(n - 1, a, c, b) # print('%s - -> %s' % (a, c)) # -- 直接写这个减少递归调用的次数 # move(n - 1, b, a, c) # return # move(3,'A','B','C') #三层递归分析如下: # |(a-c)# # |2(a-b)|(a-b)# # |(c-b)# # 3(a-c)|(a-c)# # |(b-a)# # |2(b-c) |(b-c)# # |(a-c)#
4.python实现函数解决hanoi塔问题
最新推荐文章于 2022-03-17 23:57:51 发布