久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

java怎么實現漢諾塔

157次閱讀
沒有評論

共計 592 個字符,預計需要花費 2 分鐘才能閱讀完成。

以下是一個使用 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 個盤子移動到目標柱子。通過遞歸調用,不斷縮小問題的規模,最終完成整個漢諾塔問題的解決。

丸趣 TV 網 – 提供最優質的資源集合!

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-12-16發表,共計592字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 武宣县| 安泽县| 应用必备| 衡南县| 揭东县| 陇川县| 洛南县| 石棉县| 十堰市| 辽源市| 临洮县| 望谟县| 大城县| 德庆县| 海原县| 肇庆市| 开鲁县| 修水县| 清涧县| 新晃| 望江县| 南部县| 千阳县| 绥化市| 盐城市| 于都县| 十堰市| 蒙阴县| 南丰县| 吉林省| 岑巩县| 三门峡市| 广东省| 泰兴市| 河北区| 太谷县| 永靖县| 华安县| 包头市| 洛隆县| 延吉市|