上帝创造世界的时候做了三根金刚石柱子,在一根柱子上从下 往上安大小顺序摞着 n 片黄金圆盘。 上帝命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定,在
小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘。
读入n,输出移动的顺序*/
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println("请输入黄金圆盘的数量n");
int n = sc.nextInt();
char a = 'A',b = 'B',c = 'C';
hanio(n,a,b,c);
}
// TODO Auto-generated method stub
public static void hanio(int n,char a, char b, char c){
//只有一个盘子的时候,就直接从A移到C
if(n == 1){
move(n,a,c);
}else{
//三步曲,注意观察,a,b,c三个的位置变化
//1.把 n-1 个盘子看成一个整体,借助 C 从 A 移动到 B
hanio(n-1,a,c,b);
//2.把第 n 个盘子从 A 移动到 C
move(n,a,c);
//3.再把 n-1 盘子整体,借助 A 从 B 移动到 C
hanio(n-1,b,a,c);
}
}
public static void move(int n , char a, char b){
System.out.println("把第"+ n +"个盘子从"+ a +"移到"+ b);
}
}