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

C語言編寫的漢諾塔程序

PHPz
發布: 2023-09-13 10:13:06
轉載
1526 人瀏覽過

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
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板