今天学习python的递归时遇到关于汉诺塔的问题,描述如下:
汉诺塔(Hanoi Tower),又称河内塔,源于印度一个古老传说。大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着n片黄金圆盘。大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定,任何时候,在小圆盘上都不能放大圆盘,且在三根柱子之间一次只能移动一个圆盘。问应该如何操作?
这里简单谈下这个问题。
我们通过递归来解决这个问题,可以假设三个柱子为A、B、C,起始A柱子上有n个圆盘,那么基本思路可以分为以下三步: