C言語でフィボナッチ数列を生成する方法を教えてください。

フィボナッチ数列は、各数が前の2つの数の和になる数列で、F(0) = 0、F(1) = 1、F(n) = F(n-1) + F(n-2)(n ≥ 2、n ∈ N*)で表されます。

以下は、繰り返し法を使用してフィボナッチ数列を実現したC言語コードです。

#include <stdio.h>

int fibonacci(int n) {
    if (n <= 0) {
        return 0;
    } else if (n == 1) {
        return 1;
    } else {
        int fib[n+1];
        fib[0] = 0;
        fib[1] = 1;
        
        for (int i = 2; i <= n; i++) {
            fib[i] = fib[i-1] + fib[i-2];
        }
        
        return fib[n];
    }
}

int main() {
    int n;
    printf("请输入一个正整数:");
    scanf("%d", &n);
    
    int result = fibonacci(n);
    printf("斐波那契数列第%d个数是:%d\n", n, result);
    
    return 0;
}

上記のコードでは、fibonacci()関数は配列fibを使用して中間結果を保持し、反復的にフィボナッチ数列の第n項を計算しています。main()関数はユーザー入力を用いて計算対象のフィボナッチ数列の位置を取得し、結果を出力します。

bannerAds