public class hannuota {
public static void main(String [] args){
//汉诺塔
Tower t =new Tower();
t.move(2,'A','B','C');
}
}
class Tower{
//sum 表示需要移动的总个数 a b c 分别表示三个塔
public void move(int sum,char a,char b,char c){
//当只有一个盘需要移动时 sum=1
if(sum==1){
System.out.println(a+"->"+c);
}else{
//若盘数大于一,则将整体分成两部分,
// 一部分看成最下面一个,(下部分)
// 以及他上面所有盘子的整体一部分(上部分)
//第一步 将a塔上部分所有盘移动到b,过程中要借助c塔
move(sum-1 ,a,c,b);
//第二步 将a下部分(即一个盘)放到c
System.out.println(a+"->"+c);
//第三步 将b塔上部分所有盘移动到c,过程中要借助a塔
move(sum-1,b,a,c);
}
}
}