除开只有1个,最简单的就是只有2个的情况
A-->B
A-->C
B-->C 结束
用递归的思想,把移动最后2个,就可以简单的理解为移动2个
A移动到C的只能1个1个走,而A到B和B到C都可以采用整体的方法
def move(n,a,b,c): if n==1: print(a,'-->',c) else: move(n-1,a,c,b) move(1,a,b,c) move(n-1,b,a,c,) print(move(4,'A','B','C'))
汉诺塔问题解析
本文详细介绍了汉诺塔问题的基本概念及其递归解决方案。通过具体的示例代码展示了如何使用Python来实现汉诺塔问题的解决过程,即如何将不同数量的盘子从一个柱子移动到另一个柱子上,同时遵循汉诺塔游戏的规则。
除开只有1个,最简单的就是只有2个的情况
A-->B
A-->C
B-->C 结束
用递归的思想,把移动最后2个,就可以简单的理解为移动2个
A移动到C的只能1个1个走,而A到B和B到C都可以采用整体的方法
def move(n,a,b,c): if n==1: print(a,'-->',c) else: move(n-1,a,c,b) move(1,a,b,c) move(n-1,b,a,c,) print(move(4,'A','B','C'))
312
3660

被折叠的 条评论
为什么被折叠?