题目
编程题:汉诺塔问题。游戏中有三根柱子,第一根柱子上摞着n片圆盘,小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘,如何将圆盘全部移动到第三根柱子上呢?输入汉诺塔的层数,输出解决该问题的输出步骤。三根柱子从左到右依次称为A柱,B柱,C柱。
例如:输入2,则输出结果为:
A柱 -> B柱
A柱 -> C柱
B柱 -> C柱
Java实现
public static void test08(){
Scanner sc = new Scanner(System.in);
hanoi('A','B','C',sc.nextInt());
}
public static void hanoi(char A,char B,char C,int n){
if (n == 0) return;
hanoi(A,C,B,n-1);
System.out.println(A +"柱 -> "+ C +"柱");
hanoi(B,A,C,n-1);
}