漢諾塔是一個數學難題。它由三根桿和若干個不同大小的圓盤組成,這些圓盤可以滑動到任何一根桿上。難題以圓盤按大小升序整齊堆疊在一根桿上開始,最小的圓盤在頂部。我們必須將相同的堆疊移到第三根桿上。
難題的目標是將整個堆疊移到另一根桿子上,遵守以下簡單規則−
一次只能移動一個圓盤。
每次移動包括從一根堆中取出上面的圓盤,並將其放在另一根堆的頂部,即只有在一根堆的頂部時才能移動圓盤。
不能將圓盤放在較小的圓盤上方。
輸入 − 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,'A','B','C'); }
A to B A to C B to C A to B C to A C to B A to B
以上是C語言編寫的漢諾塔程序的詳細內容。更多資訊請關注PHP中文網其他相關文章!