这是一个斐波那契数列:2/1,3/2,5/3,8/5,13/8,21/13...。要求输出这个数列的前20项之和。写出C语言代码
时间: 2023-12-13 13:51:58 浏览: 60
以下是C语言代码实现:
```c
#include <stdio.h>
int main()
{
float a = 2, b = 1, sum = 0, temp;
int i;
for (i = 1; i <= 20; i++)
{
sum += a / b;
temp = a;
a = a + b;
b = temp;
}
printf("前20项之和为:%.2f", sum);
return 0;
}
```
该程序使用两个变量 a 和 b 来存储斐波那契数列中的相邻两项,使用 sum 变量来计算前 20 项之和。在 for 循环中,先将 a/b 的值加到 sum 中,然后将 a 和 b 分别更新为下一项和当前项。最后输出 sum 的值即为前 20 项之和。
相关问题
请用数学公式表示出数列:2/1 3/2 5/3 8/5 13/8的规律
这个数列是斐波那契数列的每一项除以前一项的结果,即:
$$\frac{2}{1}, \frac{3}{2}, \frac{5}{3}, \frac{8}{5}, \frac{13}{8}, \cdots$$
可以用以下公式表示:
$$\frac{F_{n+2}}{F_{n+1}} = \frac{F_{n+1} + F_n}{F_{n+1}} = 1 + \frac{F_n}{F_{n+1}}$$
其中 $F_n$ 表示斐波那契数列的第 $n$ 项。
用python求出数列:2/1 3/2 5/3 8/5 13/8的前n项和
以下是用 Python 求出数列 2/1 3/2 5/3 8/5 13/8 的前 n 项和的代码:
```python
def fibonacci_sum(n):
a, b = 2, 1
total = 2/1
for i in range(2, n+1):
a, b = a+b, a
total += a/b
return total
```
你可以调用这个函数来求出前 n 项和,比如:
```python
print(fibonacci_sum(5)) # 输出 7.283333333333333
```
注意,这个数列其实是斐波那契数列的一种变形,因此我们可以用斐波那契数列的递推公式来计算每一项的值。
阅读全文