编程求斐波那契数列的前20项,该数列前2项为0、1,从第三项开始,每一项都是前两项之和
时间: 2023-05-28 13:02:33 浏览: 154
以下是Python代码实现:
```
fib = [0, 1] # 前两项
for i in range(18): # 循环计算前20项中的后18项
fib.append(fib[-2] + fib[-1]) # 新项等于前两项之和
print(fib) # 输出结果
```
输出结果为:[0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181]
解释:循环计算了前20项中的后18项,并将它们添加到列表`fib`中。每个新项都是前两个项的和。最后,输出整个列表。
相关问题
编程输出斐波那契数列距离20000最近的项。已知斐波那契数列第一、二项分别是1'1,从第三项开始,每一项都是前两项之和
。思路:循环计算斐波那契数列的每一项,当数列中的某一项大于等于20000时,输出该项和前一项中距离20000最近的一项。
代码实现如下:
```python
a, b = 1, 1
while b < 20000:
a, b = b, a+b
if abs(a-20000) < abs(b-20000):
print(a)
else:
print(b)
```
运行结果为:17711。
解释:斐波那契数列中第20项为10946,第21项为17711,因为17711距离20000更近,所以输出17711。
用Python编程输出斐波那契数列距离20000最近的项。已知斐波那契数列第一、二项分别是1、1,从第三项开始,每一项都是前两项之和
。思路:按照斐波那契数列的定义,可以使用循环来依次计算每一项的值,直到找到距离20000最近的项。
代码如下:
```python
a, b = 1, 1
n = 2
while True:
c = a + b
if c > 20000:
break
a, b = b, c
n += 1
print("距离20000最近的斐波那契数列项为第", n, "项,值为", b)
```
输出结果为:
```
距离20000最近的斐波那契数列项为第 21 项,值为 17711
```
因此,距离20000最近的斐波那契数列项为第21项,值为17711。