C言語で再帰アルゴリズムを実現の方法
C言語では、ループ構造を用いて再帰アルゴリズムを実現できます。以下に、フィボナッチ数列を再帰アルゴリズムで実現した例を示します。
#include <stdio.h>
int fibonacci(int n) {
int a = 0, b = 1, c, i;
if (n == 0)
return a;
for (i = 2; i <= n; i++) {
c = a + b;
a = b;
b = c;
}
return b;
}
int main() {
int n;
printf("Enter the value of n: ");
scanf("%d", &n);
printf("The %dth number in the Fibonacci sequence is: %d\n", n, fibonacci(n));
return 0;
}
この例では、フィボナッチ関数はループと2つの変数 a と b を使って n 番目のフィボナッチ数を計算します。初期値は a=0、b=1 で、ループによって c=a+b を計算した後、a=b、b=c に更新します。このループは、n 番目のフィボナッチ数が計算されるまで繰り返されます。
main関数はユーザーから整数nを入力してもらい、fibonacci関数を呼び出してn番目のフィボナッチ数を計算し、その結果を出力します。
具体的な問題と漸化式に応じて、漸化アルゴリズムを実装することができます。これは、単純な漸化アルゴリズムの実装例です。