import java.util.Scanner;
public class C201_07_07_汉诺塔问题 {
public static void main(String[] args) {
System.out.printf("请输入盘子的数量:");
Scanner scan = new Scanner(System.in);
int n = scan.nextInt();
//将n个盘子从A柱,借助B柱,移到C柱
hanoi(n,'A','B','C');
}
/**
* 移动n盘子
* @param n 盘子数量
* @param a 源柱
* @param b 辅助柱
* @param c 目标柱
*/
private static void hanoi(int n, char a, char b, char c) {
if(1 == n){
System.out.printf("%c -> %c\n",a,c);
}else{
hanoi(n-1,a,c,b);
System.out.printf("%c -> %c\n",a,c);
hanoi(n-1,b,a,c);
}
}
}
汉诺塔问题
最新推荐文章于 2025-05-15 20:06:03 发布