Advertisement

Python递归应用实例:汉诺塔

阅读量:

递归介绍

  1. 简单地说:递归就是可以通过函数自身反复执行来完成特定任务的过程;通过传递不同的参数来控制递归的终止条件和执行步骤。
  2. 递归能有效帮助编程者简化复杂问题的解决方案;它能通过简洁明了的方式让代码逻辑更加清晰。

汉诺塔传说

汉诺塔(又称河内塔)问题是源于印度一个古老传说的益智玩具。大梵天创造世界的时候做了三根金刚石住子,在一根柱子上从上往下按照大小顺序摞着64片圆盘。大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一个柱子上。并且规定,在小圆盘上不能放大圆盘,在三根柱子之间一次智能移动一个圆盘。

源自印度一员古老传说的智慧玩具即为汉诺塔问题此玩具由三根金刚石柱子构成其中一根柱子上套着共64片按从小到大依次排列的小圆盘其初始布局自上而下依次递增地由小到大地环绕排列大梵天指示婆罗门将所有圆盘从当前这根起始柱逐一转移到目标柱操作时需遵循以下规则:任何时候不得将较大的圆盘压在较小的圆盘之上且每次只能移动一个圆盘

汉诺塔代码实现

复制代码
    def hanoi_tower(num, a, b, c):
    """
    输出指定的num个盘

全部评论 (0)

还没有任何评论哟~