斐波那契数列c语言求前n项和
时间: 2023-12-12 16:35:59 浏览: 381
以下是C语言求斐波那契数列前n项和的代码:
```c
#include <stdio.h>
int main()
{
int n, i;
int a = 1, b = 1, c = 1;
int sum = 2; // 前两项之和为2
printf("请输入要求的斐波那契数列项数:");
scanf("%d", &n);
if (n <= 0) {
printf("输入有误!\n");
return 0;
} else if (n == 1 || n == 2) {
printf("斐波那契数列前%d项和为1\n", n);
return 0;
}
for (i = 3; i <= n; i++) {
c = a + b;
a = b;
b = c;
sum += c;
}
printf("斐波那契数列前%d项和为%d\n", n, sum);
return 0;
}
```
相关问题
斐波那契数列c语言求第n项
斐波那契数列是指从第三项开始,每一项都等于前两项之和的数列。在C语言中,可以使用递归或循环的方式来求解斐波那契数列的第n项。
以下是两种不同的C语言代码实现方法:
方法一:使用递归
```
int fib(int n) {
if(n==0) //考虑第0项
return 0;
else if(n==1||n==2)
return 1;
else
return (fib(n-1)+fib(n-2));
}
```
方法二:使用循环
```
int fib(int n) {
int a = 0, b = 1, c, i;
if (n == 0)
return a;
for (i = 2; i <= n; i++) {
c = a + b;
a = b;
b = c;
}
return b;
}
```
其中,方法一使用递归实现,方法二使用循环实现。两种方法的时间复杂度都是O(n),但是递归实现的空间复杂度较高,可能会导致栈溢出。因此,在实际应用中,建议使用循环实现。
斐波那契数列c语言求n项和
以下是C语言求斐波那契数列前n项和的代码:
```c
#include <stdio.h>
int fbi(int n) // 求斐波那契数列第n项的值
{
if (n == 1 || n == 2)
return 1;
else
return fbi(n - 1) + fbi(n - 2);
}
int sum_fbi(int n) // 求斐波那契数列前n项的和
{
int sum = 0; for (int i = 1; i <= n; i++)
{
sum += fbi(i);
}
return sum;
}
int main()
{
int n = 6;
printf("斐波那契数列前%d项和为%d\n", n, sum_fbi(n));
return 0;
}
```
运行结果为:斐波那契数列前6项和为20
阅读全文