溫馨提示×

c語言斐波那契數(shù)列算法怎么實(shí)現(xiàn)

小億
113
2023-10-30 11:18:06
欄目: 編程語言

斐波那契數(shù)列是指每個(gè)數(shù)都是前兩個(gè)數(shù)之和的數(shù)列,即F(0) = 0,F(xiàn)(1) = 1,F(xiàn)(n) = F(n-1) + F(n-2)(n ≥ 2,n ∈ N*)。

下面是一個(gè)使用迭代法實(shí)現(xiàn)斐波那契數(shù)列的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("請輸入一個(gè)正整數(shù):");
    scanf("%d", &n);
    
    int result = fibonacci(n);
    printf("斐波那契數(shù)列第%d個(gè)數(shù)是:%d\n", n, result);
    
    return 0;
}

在上面的代碼中,fibonacci()函數(shù)使用一個(gè)數(shù)組fib來保存中間結(jié)果,通過迭代的方式計(jì)算斐波那契數(shù)列的第n個(gè)數(shù)。main()函數(shù)從用戶輸入中獲取要計(jì)算的斐波那契數(shù)列的位置,并打印結(jié)果。

0