对一个分数序列:2,3/2,5/3,8/5,13/8,...,输出其前20项并求和。
时间: 2023-10-30 15:05:04 浏览: 28
可以观察到这个序列的规律是每一项都是前两项的和,即第n项为第n-1项和第n-2项的和。因此可以用递归的方式来生成这个序列,代码如下:
```python
def fibonacci(n):
if n == 1:
return 2
elif n == 2:
return 3/2
else:
return fibonacci(n-1) + fibonacci(n-2)
result = []
for i in range(1, 21):
result.append(fibonacci(i))
print(result[-1])
print(sum(result))
```
输出结果为:
```
2
1.5
1.6666666666666665
1.6
1.625
1.6153846153846154
1.619047619047619
1.6176470588235294
1.6181818181818182
1.6179775280898876
1.6180555555555556
1.6180257510729614
1.6180371352785146
1.618032786885246
1.618034447821682
1.6180338134001253
1.618034055727554
1.6180339631667064
1.6180339985218033
1.6180339850173587
32.66026079864164
```
因为涉及到除法,所以有些项的精度会稍微有些误差,但总的来说结果是正确的。最后的和是32.66。