Java递归求汉诺塔问题
时间: 2024-02-23 08:22:35 浏览: 88
在JAVA中用递归的方法解决汉诺塔问题
汉诺塔问题是经典的递归问题,下面是使用Java语言实现的代码:
```java
public class HanoiTower {
public static void main(String[] args) {
int n = 3; // 汉诺塔的层数
char A = 'A'; // 起始柱子
char B = 'B'; // 中间柱子
char C = 'C'; // 目标柱子
hanoi(n, A, B, C);
}
public static void hanoi(int n, char A, char B, char C) {
if (n == 1) {
move(A, C);
} else {
hanoi(n - 1, A, C, B);
move(A, C);
hanoi(n - 1, B, A, C);
}
}
public static void move(char from, char to) {
System.out.println("Move from " + from + " to " + to);
}
}
```
以上代码中的`hanoi`方法实现了汉诺塔问题的递归求解,`move`方法用于输出移动的步骤。运行该代码,将会输出汉诺塔问题的解法步骤。
阅读全文