文章目录
一、什么是汉诺塔问题?
二、实现步骤
三、代码实现
四、代码分析
一、什么是汉诺塔问题?
汉诺塔(Tower of Hanoi),又称河内塔,是一个源于印度古老传说的益智玩具。大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定,在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘。
二、实现步骤
先来简单介绍一下实现步骤,如图,我们要把A柱中的三个圆盘移置C柱。
这时我们可以借助B柱,我们将圆盘1先移动到C柱,再将圆盘2移动到B柱,因为大的圆盘要放在下面,所以我们把C柱中的圆盘1移动到B柱上。再把A柱上的圆盘3放到C柱。
最后将B柱上的圆盘1和2分别移动到A柱和C柱,再将A柱上的1移动到C柱。那么三阶汉诺塔的移动就完成了。
三、代码实现
我们这里使用函数递归的方式实现,先建立主程序,确定怎么使用这个函数。
然后建立函数
四、代码分析
下面我们来分析一下当n等于3时的步骤
圆盘移动步骤:
n=3
n=4
以上就是我总结的汉诺塔问题,如果对你有帮助记得点赞、关注哦!
如果文章中有错误或者有更好的写法,记得在评论区评论,欢迎学习指点。
更多内容请移步个人博客:乌托邦