河內塔C語言問題,解決了。

發布 科技 2024-02-05
7個回答
  1. 匿名使用者2024-01-25

    #include

    void move(int n,char x,char y);

    void hanoi(int n,char one,char two,char three);

    int main()

    int n;

    scanf("%d",&n);

    hanoi(n,'a','b','c');

    void hanoi(int n,char one,char two,char three)

    if(n==1)

    move(1,one,three);

    elsehanoi(n-1,one,three,two);

    move(n,one,three);

    hanoi(n-1,two,one,three);

    void move(int n,char x,char y)

    printf("move disk %d from %c to %c",n,x,y);

    就這樣,其他輸入的數量不能太大,最好在10個以內,如果超過64個,就收到了什麼,一時半會兒不玩了。

  2. 匿名使用者2024-01-24

    #include

    #include

    void move(char from,int n,char to);

    void hanno(int n,char a,char b,char c);

    int main(void)

    hanno(10,'a','b','c');

    printf("");

    system("pause");

    return 0;

    void hanno(int n,char a,char b,char c)

    if(n>0)

    hanno(n-1,a,c,b);

    move(a,n,c);

    hanno(n-1,b,a,c);

    void move(char from,int n,char to)

    printf("編號為 %d 的板從 %c 塔移動到 %c 塔",n,from,to);

  3. 匿名使用者2024-01-23

    void hanoi (int n; char x, char y,char z)

    塔基x上直徑從小到大、從上到下的N個直徑從1到N的N個圓盤按規則移動到塔基z處,Y可作為輔助塔座。 */1 }

  4. 匿名使用者2024-01-22

    事實上,與單層一樣,乙個

    開始:A,你需要移動2n,然後移動2n-1到c,然後移動1到b,然後最大的兩個已經到位。

    開始:C,需要移動2n-2,然後將2n-4移動到A,然後移動到B,然後接下來最大的兩個就位。

    開始:A,你需要移動2n-4,然後移動2n-5到A,然後移動1到B,然後第三大兩個就位。

    .以此類推,請參考了解河內單層塔的實現。

  5. 匿名使用者2024-01-21

    我不明白,我知道你在上大學,但你不想欺負我們這些沒受過教育的人,你應該問問你的老師。

  6. 匿名使用者2024-01-20

    #include

    int main()

    void hanoi(int n,char one,char two,char three) 定義 Hanoi 函式。

    借助 seat two}void move(char x,char y) 將 n 個磁碟從塊 1 移動到塊 3 來定義移動函式。

  7. 匿名使用者2024-01-19

    如何解決河內塔問題可以用遞迴方法解決。 設要移動的板數為n,為了將n個板從A柱移動到C極,可以將盤1移動到n-1,以盤C為中介,從A極移動到B極。 將 A 欄中剩餘的第 N 個圓盤移動到 C 欄。

    以A型桿為中介; 將光碟 1 移動到 N-1 從小節 B 移動到小節 C。 這樣,河內塔問題就解決了。

相關回答
8個回答2024-02-05

將 struct、student 和 internal 元素定義為 age、num 陣列。 >>>More