汉诺塔算法java程序
时间: 2023-05-26 12:00:59 浏览: 94
A:
汉诺塔算法是一个经典递归算法,下面是使用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);
}
// 将n个盘子从a移动到c,中间借助b
public static void hanoi(int n, char a, char b, char c) {
if (n == 1) { // 只有一个盘子,直接从a移动到c
System.out.println(a + "->" + c);
} else {
// 将n-1个盘子从a移动到b,中间借助c
hanoi(n - 1, a, c, b);
// 将最后一个盘子从a移动到c
System.out.println(a + "->" + c);
// 将n-1个盘子从b移动到c,中间借助a
hanoi(n - 1, b, a, c);
}
}
}
```
输出结果如下:
```
A->C
A->B
C->B
A->C
B->A
B->C
A->C
```
这里输出的结果表示的是将三个盘子从A塔移动到C塔的具体步骤。
阅读全文