小白学java第十天
代码实现汉诺塔:
public class Main {
public static void main(String[] args){
Test t = new Test();
t.move(3,'A','B','C');
}
}
class Test{
public void move(int num,char a,char b,char c){//num表示移动的个数,abc代表三个塔
if (num == 1){
System.out.println(a+"->"+c);
}
else{//多个盘的时候,先看成两个,最下面和最上面的所有盘(num-1)
//先移动上面所有的盘到b,借助c
move(num-1,a,c,b);
//将最下面的盘移动到c
System.out.println(a+"->"+c);
//将b塔所有的盘移动到c,借助a
move(num-1,b,a,c);
}
}
}
代码思想:方法就是输出a->c
通过改变a,b,c指向不同的盘子从而反复使用移动指令
八皇后问题:
Java编程:汉诺塔与八皇后问题解决方案
本文介绍了如何使用Java实现汉诺塔问题的递归解决方案,并探讨了经典的八皇后问题,展示了在编程中如何运用递归和回溯法解决复杂问题。
515

被折叠的 条评论
为什么被折叠?



