求解 Fibonacci 數列的和有多種方法,以下是其中的兩種常見方法:
方法一:迭代法 使用循環結構計算 Fibonacci 數列的和,將前兩個數初始化為 0 和 1,然后通過循環依次計算后續的 Fibonacci 數并求和,直到達到指定的數列長度。
#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;
}
方法二:遞歸法 使用遞歸函數計算 Fibonacci 數列的和,遞歸函數中首先判斷是否已經到達指定的數列長度,若是則返回 0,否則返回當前 Fibonacci 數并將遞歸調用傳入下一個數。
#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 數列的和,具體選擇哪種取決于實際需求和限制條件。