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

溫馨提示×

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
藁城市| 通化市| 宜兰县| 新泰市| 麻城市| 枞阳县| 海安县| 南京市| 屏东市| 达州市| 淮阳县| 吉林市| 子长县| 池州市| 丘北县| 黄骅市| 丰顺县| 西盟| 项城市| 罗定市| 鸡泽县| 河源市| 景泰县| 泰兴市| 茶陵县| 石台县| 铁力市| 阳原县| 辽阳市| 城市| 阿克陶县| 峨山| 绵竹市| 漳平市| 响水县| 务川| 镇巴县| 内乡县| 彭水| 华宁县| 肃宁县|