温馨提示×

java汉诺塔代码怎么写

小亿
93
2024-08-01 19:03:10
栏目: 编程语言

下面是Java语言实现的汉诺塔算法代码示例:

public class HanoiTower {
    public static void main(String[] args) {
        int n = 3; // 设置汉诺塔的盘子数量
        hanoi(n, 'A', 'B', 'C');
    }

    public static void hanoi(int n, char from, char temp, char to) {
        if (n == 1) {
            System.out.println("Move disk 1 from " + from + " to " + to);
        } else {
            hanoi(n - 1, from, to, temp);
            System.out.println("Move disk " + n + " from " + from + " to " + to);
            hanoi(n - 1, temp, from, to);
        }
    }
}

在上面的代码中,我们定义了一个HanoiTower类,并在main方法中调用hanoi方法来实现汉诺塔问题的求解。hanoi方法使用递归的方式来实现汉诺塔的移动过程,其中n表示盘子数量,from表示起始柱子,temp表示临时柱子,to表示目标柱子。

运行该代码会输出汉诺塔问题的移动步骤。您可以根据实际情况修改盘子数量n来测试不同规模的汉诺塔问题。

0