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

溫馨提示×

C語言漢諾塔遞歸算法代碼怎么寫

小億
88
2024-02-21 09:59:26
欄目: 編程語言

下面是一個C語言的漢諾塔遞歸算法代碼示例:

#include <stdio.h>

void hanoi(int n, char from, char to, char aux) {
    if (n == 1) {
        printf("Move disk 1 from %c to %c\n", from, to);
        return;
    }
    
    hanoi(n-1, from, aux, to);
    printf("Move disk %d from %c to %c\n", n, from, to);
    hanoi(n-1, aux, to, from);
}

int main() {
    int n;
    printf("Enter the number of disks: ");
    scanf("%d", &n);
    
    hanoi(n, 'A', 'C', 'B');
    
    return 0;
}

以上代碼使用遞歸的方式實現了漢諾塔問題的解決方法。函數hanoi接受參數n表示當前要移動的盤子數量,from表示起始柱子,to表示目標柱子,aux表示輔助柱子。在每次遞歸中,將n-1個盤子從起始柱移動到輔助柱,然后將最后一個盤子從起始柱移動到目標柱,最后將n-1個盤子從輔助柱移動到目標柱。主函數中輸入盤子數量并調用hanoi函數進行求解。

0
霍山县| 沛县| 淳安县| 格尔木市| 乌什县| 白水县| 营口市| 额敏县| 金乡县| 绥棱县| 武义县| 惠安县| 瑞安市| 松江区| 华安县| 穆棱市| 如东县| 突泉县| 广灵县| 湟中县| 青海省| 蒙山县| 新沂市| 阿勒泰市| 荔波县| 仁寿县| 宁津县| 扶余县| 枝江市| 军事| 奎屯市| 金川县| 通榆县| 腾冲县| 沛县| 蒙山县| 阜平县| 佛山市| 鸡泽县| 绥芬河市| 汨罗市|