91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

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
忻州市| 吴旗县| 乌苏市| 龙江县| 甘洛县| 遂宁市| 大宁县| 黑山县| 江油市| 井研县| 区。| 晋中市| 会泽县| 高州市| 旌德县| 遂川县| 昌图县| 清水河县| 阜宁县| 米林县| 青州市| 河津市| 南康市| 大厂| 信阳市| 肇源县| 治多县| 三台县| 西乌珠穆沁旗| 梅河口市| 余江县| 普宁市| 宜兰市| 大安市| 自治县| 将乐县| 巴林左旗| 汝州市| 咸宁市| 陆丰市| 十堰市|