C言語で再帰アルゴリズムを実装する方法

藏色散人
リリース: 2019-02-28 14:00:04
オリジナル
5770 人が閲覧しました

Recursion は、それ自体を呼び出すメソッドです。プログラミング言語では、プログラムで同じ関数内で関数を呼び出すことができる場合、それを関数の再帰呼び出しと呼びます。

C言語で再帰アルゴリズムを実装する方法

void recursion() {
   recursion(); /* 函数调用本身 */
}

int main() {
   recursion();
}
ログイン後にコピー

C 言語は再帰、つまり自分自身を呼び出す関数をサポートしています。ただし、再帰を使用する場合、プログラマは関数の終了条件を定義する際に注意する必要があります。そうしないと無限ループに陥ってしまいます。

再帰関数は、数値の階乗の計算、フィボナッチ数列の生成など、多くの数学的問題を解決するのに非常に役立ちます。

#数値の階乗#次の例では、再帰を使用して指定された数値の階乗関数を計算します

#include <stdio.h>

unsigned long long int factorial(unsigned int i) {

   if(i <= 1) {
      return 1;
   }
   return i * factorial(i - 1);
}

int  main() {
   int i = 12;
   printf("Factorial of %d is %d\n", i, factorial(i));
   return 0;
}
ログイン後にコピー

出力:

Factorial of 12 is 479001600
ログイン後にコピー

フィボナッチ数列

次の例では、再帰関数を使用して、指定された数値のフィボナッチ数列を生成します。

#include <stdio.h>int fibonacci(int i) {

   if(i == 0) {
      return 0;
   }
	
   if(i == 1) {
      return 1;
   }
   return fibonacci(i-1) + fibonacci(i-2);}int  main() {

   int i;
	
   for (i = 0; i < 10; i++) {
      printf("%d\t\n", fibonacci(i));
   }
	
   return 0;}
ログイン後にコピー

出力:

0	
1	
1	
2	
3	
5	
8	
13	
21	
34
ログイン後にコピー

推奨される関連 C 言語ビデオ チュートリアル: 「C チュートリアル

この記事は、C 言語の再帰アルゴリズムの紹介です。必要とする友人の役に立てば幸いです。 。 ヘルプ!

以上がC言語で再帰アルゴリズムを実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート