斐波那契数列求前n项和
时间: 2024-01-02 18:48:35 浏览: 29
斐波那契数列是一个由 0 和 1 开始,后面的每一项都是前面两项之和的数列。其前几项如下:
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, ...
求斐波那契数列的前 n 项和可以使用以下代码:
```python
def fib_sum(n):
if n <= 0:
return 0
elif n == 1:
return 1
else:
fib_list = [0, 1]
for i in range(2, n+1):
fib_list.append(fib_list[i-1] + fib_list[i-2])
return sum(fib_list)
```
在这个函数中,我们首先判断如果 n 小于等于 0,那么返回 0;如果 n 等于 1,那么返回 1。否则,我们创建一个列表 fib_list,其中包含斐波那契数列的前两项:0 和 1。然后,我们使用一个循环来迭代计算斐波那契数列的每一项,并将其添加到 fib_list 中。最后,我们使用内置函数 sum 来计算列表中所有项的和,并返回这个和。
例如,如果我们要计算前 10 项斐波那契数列的和,我们可以调用这个函数:
```python
>>> fib_sum(10)
88
```
因此,前 10 项斐波那契数列的和是 88。
相关问题
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 x) // 求斐波那契数列前x项的和
{
if (x <= 0)
return 0;
int s = 0;
for (int i = 1; i <= x; i++)
{
s += fbi(i);
}
return s;
}
int main()
{
int x = 6;
printf("斐波那契数列前15项为:");
for (int i = 1; i <= 15; i++)
{
printf(" %d ", fbi(i));
}
printf("\n");
printf("斐波那契数列前%d项和为%d", x, sum_fbi(x));
return 0;
}
```
斐波那契数列c语言求前n项和
以下是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;
}
```