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番目のフィボナッチ数を計算し、その結果を出力します。

具体的な問題と漸化式に応じて、漸化アルゴリズムを実装することができます。これは、単純な漸化アルゴリズムの実装例です。

bannerAds