中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

C#怎么利用遞歸算法解決漢諾塔問題

c#
小億
102
2024-03-02 19:50:32
欄目: 編程語言

漢諾塔問題是經典的遞歸問題,可以通過遞歸算法來解決。以下是使用C#編寫的漢諾塔問題的遞歸算法示例:

using System;

class MainClass {
    public static void Main (string[] args) {
        int n = 3; // 漢諾塔的盤子數量
        Hanoi(n, 'A', 'B', 'C');
    }

    // 遞歸函數,將n個盤子從A經過B移動到C
    static void Hanoi(int n, char source, char auxiliary, char target) {
        if (n == 1) {
            Console.WriteLine($"移動盤子 {n}{source}{target}");
        } else {
            Hanoi(n - 1, source, target, auxiliary);
            Console.WriteLine($"移動盤子 {n}{source}{target}");
            Hanoi(n - 1, auxiliary, source, target);
        }
    }
}

在上面的示例中,我們定義了一個Hanoi函數,它接受三個參數:盤子數量n,源柱子source,輔助柱子auxiliary和目標柱子target。然后使用遞歸調用來實現漢諾塔問題的解決。

你可以在Main函數中設置漢諾塔的盤子數量n,然后調用Hanoi函數來打印出移動每個盤子的步驟。

0
南岸区| 中江县| 洞口县| 马公市| 宁陕县| 青河县| 临汾市| 兰坪| 五指山市| 海安县| 扶风县| 南汇区| 都匀市| 滦平县| 嘉祥县| 丹巴县| 遵化市| 德安县| 崇义县| 东兴市| 南川市| 墨竹工卡县| 龙海市| 通山县| 宜阳县| 于都县| 裕民县| 普兰县| 济源市| 高淳县| 石嘴山市| 西充县| 泰宁县| 鹿泉市| 永川市| 宜都市| 白山市| 瓮安县| 巨鹿县| 韶关市| 云林县|