public class Hanoi {
public static void main(String[] args) {
//测试
hanoi(10,'a', 'b', 'c');
}
/**
*
* @param x 个盘子
* @param from 开始的柱子
* @param in 中间的柱子
* @param to 目标的柱子
*/
public static void hanoi(int x,char from, char in, char to){
if (x == 1) {
//第一个盘子移到最右边位置
System.out.println("第" + x + "个盘子从"+from+"移到"+to);
}
else{
//n-1个盘子移到中间
hanoi(x-1, from, to, in);
System.out.println("第"+x+"个盘子从"+from+"移到"+to);
//n-1个盘子从中间移到最右边
hanoi(x-1, in, from, to);
}
}
}
java实现汉诺塔问题
最新推荐文章于 2024-06-21 15:14:18 发布