功能:求一分数序列2/1,3/2,5/3,8/5,13/8,21/13...的前n项之和。 说明:每一分数的分母是前两项的分母之和,每一分数的 分子是前两项的分子之和 例如:求前20项之和的值为32.660。
时间: 2024-05-01 16:19:44 浏览: 34
python 有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和 (示例)
5星 · 资源好评率100%
这是一个斐波那契数列的变形,可以使用循环来计算每一项的分子和分母,然后累加前n项的和。以下是Python代码实现:
```python
def fibonacci_sum(n):
numerator1, numerator2 = 2, 3
denominator1, denominator2 = 1, 2
total = numerator1 / denominator1 + numerator2 / denominator2
for i in range(3, n+1):
numerator = numerator1 + numerator2
denominator = denominator1 + denominator2
total += numerator / denominator
numerator1, numerator2 = numerator2, numerator
denominator1, denominator2 = denominator2, denominator
return round(total, 3)
print(fibonacci_sum(20)) # 输出 32.66
```
在循环中,我们先定义了前两项的分子和分母,然后计算第三项及以后每一项的分子和分母,并将它们相加累加到总和中。最后返回总和的值,注意要使用`round()`函数保留3位小数。
阅读全文