Recursion は、それ自体を呼び出すメソッドです。プログラミング言語では、プログラムで同じ関数内で関数を呼び出すことができる場合、それを関数の再帰呼び出しと呼びます。
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言語で再帰アルゴリズムを実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。