汉诺塔问题解析(python版)

#-*- coding:utf-8 -*-

# move(n, a, b, c)表示的是有n个盘子在a柱子上,将要移到b柱子上面去

def move(n, a, b, c):

# 如果a柱子上面只有一个盘子,则直接移到c柱子上面去并输出路径,结束递归

if n == 1:

print a, '-->', c

return

# 表示的是将n-1的盘子从a柱子上面移到b柱子上面去

move(n-1, a, c, b)

# 输出最下面个盘子移从a移到c的路径

print a, '-->', c

# 将b柱子上面的n-1个盘子移动到c柱子上面

move(n-1, b, a, c)

move(4, 'A', 'B', 'C')

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 汉诺塔是指这个: 目标是要把所有的盘子从最左边(柱子A)移动到最右边(柱子C),条件是 1)每次只能移动一个盘子 ...
    mouse33333阅读 8,092评论 7 8
  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 11,891评论 0 17
  • 题目: 汉诺塔的移动可以用递归函数非常简单地实现。 请编写move(n, a, b, c)函数,它接收参数n,表示...
    快乐的杀马特阅读 3,276评论 0 0
  • 1:家人之间的亲情是空间和时间无法阻隔的 2:recall 3:I told him how proud I wa...
    刘楠应数二班阅读 3,788评论 2 0
  • 周天老公才会在家,早上起的比较早,骑上电动车到洋塘公园跑步。风景怡人,空气清新,心情愉悦。难得一家三口在一起跑步。...
    透过开满鲜花的月亮阅读 1,531评论 0 0

友情链接更多精彩内容