求解 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ù)列的和,具體選擇哪種取決于實際需求和限制條件。