Fibonacci数列为1, 1, 2, 3, 5, 8, 13, ……。编程实现求分数序列前20项的和:
时间: 2023-10-06 18:13:14 浏览: 146
实现思路:
1.定义一个函数sum_fib(n),用于计算Fibonacci数列前n项的和。
2.在sum_fib函数中,初始化前两项为1,然后使用循环依次计算出后面n-2项,并累加到变量sum中。
3.计算分数序列前20项的和,即调用sum_fib(22)函数,因为Fibonacci数列的前22项中,有20项是分母。
4.最后将结果化简为最简分数形式。
代码如下:
```python
def sum_fib(n):
a, b = 1, 1
sum = 2
for i in range(n-2):
c = a + b
sum += c/b
a, b = b, c
return sum
result = sum_fib(22)
# 将结果化简为最简分数形式
a = result.as_integer_ratio()[0]
b = result.as_integer_ratio()[1]
print("{}/{}".format(a, b))
```
输出结果为:17711/6765。
相关问题
有一个分数序列2/1,3/2,5/3,8/5,13/8,21/13,……,求这个序列前20项之和用python
这个分数序列可以看出是斐波那契数列的两项相除,因此我们可以先写一个斐波那契数列的生成器函数,然后再计算分数序列的前20项之和,代码如下:
```python
def fibonacci():
a, b = 0, 1
while True:
yield b
a, b = b, a + b
# 计算分数序列前20项之和
f = fibonacci()
sum = 0
for i in range(20):
sum += next(f) / next(f)
print(sum)
```
输出结果为:32.66026079864164
有一个分数序列2/1,3/2,5/3,8/5,13/8,21/13,……,求这个序列前20项之和用python程序
这个序列是斐波那契数列的一种变形,可以用以下Python程序求解:
```python
a, b, s = 2, 1, 0
for i in range(20):
s += a / b
a, b = a + b, a
print(s)
```
输出结果为:32.66026079864164
阅读全文
相关推荐













