产生菲波拉契数列 编程产生菲波拉契数列20项,例如:0 1 1 2 3 5 8 13 21 给出完整解题代码
时间: 2024-09-30 20:14:59 浏览: 36
要生成菲波纳契数列的前20项,你可以使用循环或递归的方式。这里我提供两种方法:
**使用循环(迭代法):**
```python
def fibonacci_iterative(n):
fib_sequence = [0, 1] # 初始化前两项
while len(fib_sequence) < n:
next_num = fib_sequence[-1] + fib_sequence[-2]
fib_sequence.append(next_num)
return fib_sequence[:n]
# 生成并打印前20项
fibonacci_20 = fibonacci_iterative(20)
print(fibonacci_20)
```
**使用递归(但请注意,递归对于大数值可能会非常慢,因为它会重复计算很多子问题):**
```python
def fibonacci_recursive(n, a=0, b=1):
if n <= 0:
return []
elif n == 1:
return [a]
else:
result = fibonacci_recursive(n - 1, b, a + b)
result.insert(0, a)
return result
# 生成并打印前20项
fibonacci_20_recursive = fibonacci_recursive(20)
print(fibonacci_20_recursive)
```
运行上述代码,你会得到前20个斐波那契数列数字。选择哪种方法取决于你的需求和性能要求。
阅读全文