汉诺塔(Tower of Hanoi),又称河内塔,是一个源于印度古老传说的益智玩具。大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定,在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘。
次数公式:2^n - 1(其中n为圆盘的个数) 。
问题分析:
①:将n-1个圆盘通过空闲的B和C柱进行移动。
②:移动完后确保A柱里面只有一个圆盘,同时C是空闲,将最大的圆盘移动至C柱。
③:通过三个柱,再次进行移动,将次大的盘移动至C柱。
当n为1时:
当n为2时:
当n为3时:
a -> c a -> b c -> b a -> c b -> a b -> c a -> c
程序实现:
程序运行: