首頁 >後端開發 >C++ >C語言編寫的漢諾塔程序

C語言編寫的漢諾塔程序

PHPz
PHPz轉載
2023-09-13 10:13:061540瀏覽

C語言編寫的漢諾塔程序

漢諾塔是一個數學難題。它由三根桿和若干個不同大小的圓盤組成,這些圓盤可以滑動到任何一根桿上。難題以圓盤按大小升序整齊堆疊在一根桿上開始,最小的圓盤在頂部。我們必須將相同的堆疊移到第三根桿上。

難題的目標是將整個堆疊移到另一根桿子上,遵守以下簡單規則−

  • 一次只能移動一個圓盤。

  • 每次移動包括從一根堆中取出上面的圓盤,並將其放在另一根堆的頂部,即只有在一根堆的頂部時才能移動圓盤。

  • 不能將圓盤放在較小的圓盤上方。

範例

輸入  − 3

輸出  − A to B 

#              A to C 

             B to C 

             C to B 

A to B  Explanation − uses recursive function & solves the tower of Hanoi.

範例

#include<stdio.h>
void TOH(int n,char x,char y,char z) {
   if(n>0) {
      TOH(n-1,x,z,y);
      printf("</p><p>%c to %c",x,y);
      TOH(n-1,z,y,x);
   }
}
int main() {
   int n=3;
   TOH(n,&#39;A&#39;,&#39;B&#39;,&#39;C&#39;);
}

輸出

A to B
A to C
B to C
A to B
C to A
C to B
A to B

以上是C語言編寫的漢諾塔程序的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:tutorialspoint.com。如有侵權,請聯絡admin@php.cn刪除