ホームページ >バックエンド開発 >C++ >C言語で書かれたハノイの塔プログラム

C言語で書かれたハノイの塔プログラム

PHPz
PHPz転載
2023-09-13 10:13:061529ブラウズ

C言語で書かれたハノイの塔プログラム

ハノイの塔は数学的なパズルです。それは 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,&#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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。