汉诺塔问题源于印度一个古老传说。相传大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上并规定,任何时候,在小圆盘上都不能放大圆盘,且在三根柱子之间一次只能移动一个圆盘。
1 def move(n, a, b, c): 2 if(n == 1): 3 print(a,"->",c) 4 return 5 move(n-1, a, c, b) 6 move(1, a, b, c) 7 move(n-1, b, a, c) 8 9 move(3, "a", "b", "c")
函数运行结果:
1 a -> c 2 a -> b 3 c -> b 4 a -> c 5 b -> a 6 b -> c 7 a -> c
程序分析:
原文:https://www.cnblogs.com/y-yang/p/12625688.html