汉诺塔传说:
汉诺塔(又称河内塔)问题是源于印度一个古老传说的益智玩具。
大梵天创造世界的时候做了三根金刚石柱子,在一个柱子从下往上按照大小顺序摞着64片圆盘。大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上,并且规定,在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘。
//2024.07.10public class HanoiTower {public static void main(String[] args) {Tower tower = new Tower();tower.move(5, 'A', 'B', 'C');}
}class Tower {//num表示要移动的圆盘的个数,a,b,c分别表示A塔,B塔,C塔//为把a的盘移动到c盘,借助bpublic void move(int num, char a, char b, char c){//如果只有一个盘 num == 1if (num == 1) {System.out.println(a + "->" + c);}else{//如果有多个盘,可以看成两部分,最下面的和上面的所有盘(num-1个)//(1)先移动上面的所有盘到b,借助cmove(num - 1, a, c, b);//(2)把最下面的盘,移动到cSystem.out.println(a + "->" + c);//(3)把b的所有盘,移动到c,借助amove(num - 1, b, a, c);}}
}
运行结果截图: