.有一分数序列1+1/2+2/3+3/5+5/8+..求出这个数列的前20项 之和
时间: 2023-08-30 09:06:21 浏览: 585
这个数列其实是斐波那契数列的变形,通项公式是f(n)/f(n+1),其中f(n)表示斐波那契数列的第n项。因此,这个数列的前20项之和可以通过以下代码计算得出:
```python
def fibonacci(n):
if n == 0:
return 0
elif n == 1:
return 1
else:
return fibonacci(n-1) + fibonacci(n-2)
sum = 0
for i in range(1, 21):
sum += fibonacci(i) / fibonacci(i+1)
print(sum)
```
运行以上代码,可以得到这个数列的前20项之和为:32.66026079864164。
相关问题
c语言 有一个分数序列2/1+3/2+5/3+8/5+13/8+...,求出这个数列前20项的和
这是一道C语言编程题,要求计算分数序列2/1+3/2+5/3+8/5+13/8+...的前20项之和。以下是一种解法:
```
#include <stdio.h>
int main() {
float top = 2, base = 1;
float t, sum = 0;
int times = 0;
while(times++ < 20) {
sum += top/base;
t = base;
base = top;
top += t;
}
printf("%f\n", sum);
return 0;
}
```
这个程序使用了循环来计算分数序列的前20项之和。在循环中,top和base分别表示分数序列中当前项的分子和分母,sum表示前面所有项的和,times表示当前是第几项。每次循环中,将当前项的分数加到sum中,然后更新top和base的值,使它们分别变成下一项的分子和分母。最后输出sum的值即可。
有一分数序列:2/1+3/2+5/3+......求出这个数列的前20项之和。C语言编码。加注释
```c
#include <stdio.h>
int main() {
double sum = 0; // 存储数列的和
double numerator = 2, denominator = 1; // 数列的第一项
double temp; // 用于交换分子和分母
int i;
for (i = 1; i <= 20; i++) {
sum += numerator / denominator; // 求出当前项并加到和中
temp = numerator; // 交换分子和分母
numerator = numerator + denominator;
denominator = temp;
}
printf("前20项之和为:%.2lf", sum); // 输出结果,保留两位小数
return 0;
}
```
注:这里使用了 `double` 类型来存储分数和和分子、分母,因为分数相加可能超出 `int` 的范围。