移动盘子,每一次只能移动一个,小盘子在大盘子上。
打印1 from A to B过程
注意1)盘子编号的变化和辅助柱子的变化
2)当盘子编号为1时,结束递归,此时移动结束
代码package p2;
public class problem8 {
public static void main(String[] args) {
move(3, "A", "B", "C");
}
public static void move(int n, String from, String to, String help) {
//当移动1号盘子时,递归结束
if (n == 1) {
System.out.println("盘子" + n + "从" + from + "移动到" + to);
return;
}
//先把1~n-1个盘子移动到辅助空间上
move(n - 1, from, help, to);
//n号盘子可以到达目标柱子
System.out.println("盘子" + n + "从" + from + "移动到" + to);
//再把1~n-1个盘子从辅助空间移动到目标柱子上去
move(n - 1, help, to, from);
}
}



