用Java写个汉诺塔程序
时间: 2024-05-08 17:20:43 浏览: 83
用java实现汉诺塔
5星 · 资源好评率100%
好的,以下是用Java语言实现汉诺塔问题的程序:
```java
public class HanoiTower {
public static void main(String[] args) {
int n = 3; // 设置盘子数目
hanoi(n, 'A', 'B', 'C'); // 调用hanoi函数
}
// 汉诺塔函数
public static void hanoi(int n, char a, char b, char c) {
if (n == 1) { // 只有一个盘子的情况
System.out.println(a + "->" + c);
} else { // 有多个盘子的情况
hanoi(n-1, a, c, b); // 将n-1个盘子从a移到b
System.out.println(a + "->" + c); // 将第n个盘子从a移到c
hanoi(n-1, b, a, c); // 将n-1个盘子从b移到c
}
}
}
```
以上程序实现了将n个盘子从A柱子移动到C柱子的汉诺塔问题,其中a、b、c分别表示三个柱子。程序中的hanoi函数采用了递归的思想,当只有一个盘子时,直接将a柱子上的盘子移动到c柱子上;当有多个盘子时,先将n-1个盘子从a移到b,再将第n个盘子从a移到c,最后将n-1个盘子从b移到c。
阅读全文