斐波那契数列C语言求和
时间: 2023-11-20 15:54:03 浏览: 46
斐波那契数列是指:第一项和第二项均为1,从第三项开始,每一项都是前两项的和。斐波那契数列前n项之和可以通过循环或递归实现。下面是一个C语言循环实现斐波那契数列前n项之和的示例代码:
```c
#include <stdio.h>
int main() {
int n, i, sum = 0, a = 1, b = 1, c;
scanf("%d", &n);
for (i = 3; i <= n; i++) {
c = a + b;
a = b;
b = c;
if (i % 2 == 0) {
sum += c;
}
}
printf("%d\n", sum);
return 0;
}
```
在上述代码中,我们使用了三个变量a、b、c来存储斐波那契数列的前三项,然后通过循环计算出第4项到第n项的值,并将其中偶数项的值累加到sum变量中,最后输出sum的值即为斐波那契数列前n项之和。
相关问题
斐波那契数列c语言前n求和
以下是两种C语言求斐波那契数列前n项和的方法:
方法一:递归调用函数
```c
#include <stdio.h>
int fun(int n);
int main() {
int n, i, sum = 0;
scanf("%d", &n);
for (i = 1; i <= n; i++) {
sum += fun(i);
}
printf("%d\n", sum);
return 0;
}
int fun(int n) {
if (n == 1 || n == 2) {
return 1;
} else {
return fun(n - 1) + fun(n - 2);
}
}
```
方法二:使用数列的方法
```c
#include <stdio.h>
int main() {
int a[100] = {0, 1, 1};
int n, i, sum = 0;
scanf("%d", &n);
for (i = 3; i <= n; i++) {
a[i] = a[i - 1] + a[i - 2];
}
for (i = 0; i <= n; i++) {
sum += a[i];
}
printf("%d\n", sum);
return 0;
}
```
斐波那契数列求和c语言
实现代码如下:
#include <stdio.h>
int main() {
int n, i;
long long fib[50] = {, 1}; // 斐波那契数列的前两项
long long sum = 1; // 求和变量,初始化为第一项
printf("请输入要求和的项数:");
scanf("%d", &n);
for (i = 2; i <= n; i++) {
fib[i] = fib[i-1] + fib[i-2]; // 计算斐波那契数列的第 i 项
sum += fib[i]; // 累加求和
}
printf("前 %d 项斐波那契数列的和为:%lld\n", n, sum);
return ;
}