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

溫馨提示×

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
南城县| 峨眉山市| 上虞市| 鹿邑县| 当阳市| 东安县| 治县。| 拜泉县| 富蕴县| 会理县| 新野县| 静乐县| 绿春县| 郑州市| 赤峰市| 广南县| 鄂托克旗| 古交市| 南溪县| 遵化市| 沁阳市| 宝鸡市| 巴马| 鄂托克旗| 石城县| 金溪县| 吉安市| 衡山县| 青州市| 台州市| 铜山县| 抚顺县| 阿鲁科尔沁旗| 郑州市| 仙居县| 靖江市| 象山县| 双牌县| 南木林县| 从江县| 汝阳县|