//汉诺塔
public class Tower {
public static void main(String[] args) {
Hanoi hanoi=new Hanoi();
hanoi.move(5,'A','B','C');
}
}
class Hanoi{
//num表示移动个数,a,b,c表示A塔,B塔,C塔
public void move(int num,char a,char b,char c){
//只有一个盘 num==1
if (num==1){
System.out.println(a+"->"+c);
}else {
//多个盘,看成两个,最下面的和上面所有的盘(num-1);
//(1)先把上面所有盘移动到B,借助C。
move(num-1,a,c,b);
//(2)把最下面的盘移动到C。
System.out.println(a+"->"+c);
//(3)再把B塔的所有盘移动到C。
move(num-1,b,a,c);
}
}
}
递归调用——汉诺塔
最新推荐文章于 2023-08-15 20:59:18 发布