亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

java怎么實現漢諾塔

小億
72
2023-10-23 11:37:02
欄目: 編程語言

以下是一個使用Java實現漢諾塔問題的示例代碼:

public class HanoiTower {
    public static void main(String[] args) {
        int n = 3; // 漢諾塔的層數
        char from = 'A'; // 起始柱子
        char to = 'C'; // 目標柱子
        char aux = 'B'; // 輔助柱子

        hanoi(n, from, to, aux);
    }

    public static void hanoi(int n, char from, char to, char aux) {
        if (n == 1) {
            System.out.println("移動盤 " + n + " 從 " + from + " 到 " + to);
        } else {
            hanoi(n - 1, from, aux, to);
            System.out.println("移動盤 " + n + " 從 " + from + " 到 " + to);
            hanoi(n - 1, aux, to, from);
        }
    }
}

在上面的代碼中,hanoi方法使用遞歸來實現漢諾塔問題的解決。當只有一個盤子時,直接將盤子從起始柱子移動到目標柱子。當有多個盤子時,將上面的n-1個盤子從起始柱子移動到輔助柱子,然后將最大的盤子從起始柱子移動到目標柱子,最后將之前移動到輔助柱子的n-1個盤子移動到目標柱子。通過遞歸調用,不斷縮小問題的規模,最終完成整個漢諾塔問題的解決。

0
民权县| 兴山县| 永安市| 二手房| 克山县| 奇台县| 韶关市| 循化| 呼和浩特市| 南投县| 崇阳县| 兴安盟| 岐山县| 嘉定区| 宁化县| 宜黄县| 上杭县| 射阳县| 集安市| 鄂尔多斯市| 九江县| 肥西县| 明水县| 宁河县| 阿勒泰市| 香格里拉县| 行唐县| 凤庆县| 驻马店市| 丽江市| 高淳县| 天峻县| 民权县| 辽宁省| 襄樊市| 陕西省| 新巴尔虎左旗| 格尔木市| 横峰县| 峨眉山市| 汾西县|