求解 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 数列的和,具体选择哪种取决于实际需求和限制条件。