package suanfa;
//汉诺塔,分治算法
public class Hannuota {
public static void main(String[] args) {
//ABC分别代表柱子。
hannuota(2,'A','B','C');
}
public static void hannuota(int num,char a,char b,char c) {
//如果只有一个盘
if(num == 1) {
System.out.println("第一个盘从 " +a+ "->" +c);
}else {
//如果num>=2,我们总可以看做是两个盘,最下面一个,上面所有算一个。
//1,先把最上面所有盘A-B,移动过程使用到C
hannuota(num - 1,a,c,b);
//2,把最下面的A-C
System.out.println("第"+num+ "个盘从"+a+ "->" +c);
//3,把B塔所有B-C,移动过程用到A。
hannuota(num - 1,b,a,c);
}
}
}