一、汉诺塔简介
汉诺塔(Tower of Hanoi),又称河内塔,是一个源于印度古老传说的益智玩具。大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定,在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘。
二、汉诺塔的实现
图片展示:假设解决三层塔即n=3,
其中A为起始杆B为中转杆C为目标杆,总体可以大致分为两个步骤及
1.将n-1个盘子移到中转杆将最底下的盘子移到目标杆。
2.将n-2个盘子移到起始杆将最底下的盘子移到目标杆。
然后一直重复这两个步骤直到n==1时,将最后一个盘子移到目标杆上。
所以可以使用函数递归的办法解决此问题,因为函数递归就是为了解决n个东西到n-1个东西再到n-2个东西最后到1这类问题。
其中注释为详解,诺不理解可以F10与F11进行调试来了解函数执行的步骤来进一步了解其原理。