溫馨提示×

c語言fibonacci數(shù)列求和的方法是什么

小億
123
2023-12-09 10:47:30
欄目: 編程語言

求解 Fibonacci 數(shù)列的和有多種方法,以下是其中的兩種常見方法:

方法一:迭代法 使用循環(huán)結(jié)構(gòu)計算 Fibonacci 數(shù)列的和,將前兩個數(shù)初始化為 0 和 1,然后通過循環(huán)依次計算后續(xù)的 Fibonacci 數(shù)并求和,直到達(dá)到指定的數(shù)列長度。

#include <stdio.h>

int main() {
    int n, i, sum = 0;
    int a = 0, b = 1;

    printf("Enter the length of Fibonacci sequence: ");
    scanf("%d", &n);

    for (i = 0; i < n; i++) {
        sum += a;
        int temp = a + b;
        a = b;
        b = temp;
    }

    printf("Sum of Fibonacci sequence: %d\n", sum);

    return 0;
}

方法二:遞歸法 使用遞歸函數(shù)計算 Fibonacci 數(shù)列的和,遞歸函數(shù)中首先判斷是否已經(jīng)到達(dá)指定的數(shù)列長度,若是則返回 0,否則返回當(dāng)前 Fibonacci 數(shù)并將遞歸調(diào)用傳入下一個數(shù)。

#include <stdio.h>

int fibonacci(int n) {
    if (n <= 0) {
        return 0;
    } else if (n == 1) {
        return 1;
    } else {
        return fibonacci(n - 1) + fibonacci(n - 2);
    }
}

int main() {
    int n, i, sum = 0;

    printf("Enter the length of Fibonacci sequence: ");
    scanf("%d", &n);

    for (i = 0; i < n; i++) {
        sum += fibonacci(i);
    }

    printf("Sum of Fibonacci sequence: %d\n", sum);

    return 0;
}

這兩種方法都可以用來求解 Fibonacci 數(shù)列的和,具體選擇哪種取決于實際需求和限制條件。

0