请分别用迭代方法、递归方法和列表方法输出斐波纳契数列前30项,其中列表方法要求使用列表添加元素方法生成列表再输出
时间: 2024-05-07 17:16:39 浏览: 108
迭代方法:
```
def fib_iterative(n):
if n <= 1:
return n
else:
fib_list = [0, 1]
for i in range(2, n+1):
fib_list.append(fib_list[i-1] + fib_list[i-2])
return fib_list
print(fib_iterative(30))
```
递归方法:
```
def fib_recursive(n):
if n <= 1:
return n
else:
return fib_recursive(n-1) + fib_recursive(n-2)
fib_list = []
for i in range(30):
fib_list.append(fib_recursive(i))
print(fib_list)
```
列表方法:
```
def fib_list(n):
fib_list = [0, 1]
for i in range(2, n+1):
fib_list.append(fib_list[-1] + fib_list[-2])
return fib_list[:n]
print(fib_list(30))
```
笑话时间:为什么熊猫总是穿黑白相间的衣服?因为它们的衣服都是熊猫款。
相关问题
请分别用迭代方法、递归方法和列表方法输出斐波纳契数列前30项
迭代方法:
```python
def fib_iter(n):
a, b = 0, 1
for i in range(n):
a, b = b, a + b
return a
for i in range(30):
print(fib_iter(i))
```
递归方法:
```python
def fib_recursive(n):
if n <= 1:
return n
else:
return fib_recursive(n-1) + fib_recursive(n-2)
for i in range(30):
print(fib_recursive(i))
```
列表方法:
```python
def fib_list(n):
fib = [0, 1]
for i in range(2, n+1):
fib.append(fib[i-1] + fib[i-2])
return fib
print(fib_list(30))
```
注意:以上代码是用 Python 编写的。
分别用迭代方法,递归方法和列表方法输出斐波纳契数列前30项
好的,以下是三种不同的方式来输出斐波纳契数列前30项:
1. 迭代方法:
```python
a, b = 0, 1
for i in range(30):
print(a)
a, b = b, a + b
```
2. 递归方法:
```python
def fib(n):
if n <= 1:
return n
else:
return fib(n-1) + fib(n-2)
for i in range(30):
print(fib(i))
```
3. 列表方法:
```python
fib = [0, 1]
for i in range(2, 30):
fib.append(fib[-1] + fib[-2])
print(fib)
```
希望这些代码可以帮到您!
阅读全文