ハノイの塔は数学的なパズルです。それは 3 本のロッドと、ロッドのいずれかにスライドするさまざまなサイズのいくつかのディスクで構成されます。パズルは、円盤がサイズの小さい順に棒の上にきちんと積み上げられ、最小の円盤が一番上に置かれることから始まります。同じスタックを 3 番目のロッドに移動する必要があります。
パズルの目標は、次の簡単なルールに従って、スタック全体を別のロッドに移動することです。 -
一度に移動できるディスクは 1 つだけです。
各移動には、1 つのパイルから上のディスクを取り出して別のパイルの上に配置することが含まれます。つまり、ディスクは 1 つのパイル ディスクの上にある場合にのみ移動できます。
ディスクをより小さいディスクの上に置くことはできません。
入力 − 3
出力 − A から B
A to C − 再帰関数を使用し、ハノイの塔を解決します。Example#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 中国語 Web サイトの他の関連記事を参照してください。