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

溫馨提示×

c語言漢諾塔代碼怎么寫

小億
95
2023-11-24 22:21:46
欄目: 編程語言

C語言的漢諾塔代碼可以按照以下方式編寫:

#include <stdio.h>

// 定義移動盤子的函數
void move(int n, char from, char to, char temp) {
    if (n == 1) {
        printf("Move disk 1 from %c to %c\n", from, to);
        return;
    }
    move(n - 1, from, temp, to);
    printf("Move disk %d from %c to %c\n", n, from, to);
    move(n - 1, temp, to, from);
}

int main() {
    int n;
    printf("Enter the number of disks: ");
    scanf("%d", &n);
    printf("Steps to solve the Hanoi Tower problem:\n");
    move(n, 'A', 'C', 'B');
    return 0;
}

在這段代碼中,move 函數負責實現漢諾塔的移動邏輯。遞歸地將上方的 n-1 個盤子從 from 桿移動到 temp 桿,然后將最底下的第 n 個盤子從 from 桿移動到 to 桿,最后將之前移動到 temp 桿上的 n-1 個盤子從 temp 桿移動到 to 桿。最后在 main 函數中,用戶輸入盤子的數量,然后調用 move 函數來解決漢諾塔問題。程序會打印出移動每個盤子的步驟。

0
甘南县| 扎兰屯市| 盐亭县| 内黄县| 金溪县| 黔江区| 巨野县| 郸城县| 新绛县| 田林县| 光山县| 综艺| 龙川县| 扎兰屯市| 柳江县| 中西区| 南靖县| 鲁山县| 陆川县| 丘北县| 平利县| 台北县| 望都县| 杭锦旗| 库伦旗| 高碑店市| 四子王旗| 蚌埠市| 安新县| 勐海县| 阳西县| 宝丰县| 合作市| 洪湖市| 佳木斯市| 大同市| 临泽县| 大渡口区| 高碑店市| 新安县| 明星|