利用python实现计算斐波那契数列
时间: 2023-11-04 10:08:12 浏览: 51
可以使用递归或循环来计算斐波那契数列。以下是两种不同的实现方式:
1. 递归实现:
```python
def fibonacci(n):
if n <= 1:
return n
else:
return fibonacci(n-1) + fibonacci(n-2)
# 测试
n = 10
for i in range(n):
print(fibonacci(i))
```
2. 循环实现:
```python
def fibonacci(n):
if n <= 1:
return n
else:
a, b = 0, 1
for i in range(n-1):
a, b = b, a + b
return b
# 测试
n = 10
for i in range(n):
print(fibonacci(i))
```
两种实现方式的时间复杂度都是O(n),但是递归实现的空间复杂度为O(n),循环实现的空间复杂度为O(1)。因此,当n比较大时,推荐使用循环实现。
相关问题
利用列表计算斐波那契数列Python
可以使用列表来计算斐波那契数列,例如:
```python
n = 10 # 计算前10个斐波那契数列
fib = [0, 1] # 初始的斐波那契数列
for i in range(2, n):
fib.append(fib[i-1] + fib[i-2]) # 计算下一个斐波那契数列并添加到列表中
print(fib) # 输出计算得到的斐波那契数列
```
输出结果为:
```
[0, 1, 1, 2, 3, 5, 8, 13, 21, 34]
```
在这个例子中,我们定义了计算斐波那契数列的前10个数,然后使用一个包含初始两个数的列表 `fib`。在循环中,我们计算下一个斐波那契数列,并将其添加到列表 `fib` 中。最后,我们输出计算得到的斐波那契数列。
用Python实现生成斐波那契数列
可以使用以下Python代码来生成斐波那契数列:
```python
def fibonacci(n):
fib_list = [0, 1]
for i in range(2, n):
fib_list.append(fib_list[i-1] + fib_list[i-2])
return fib_list
```
其中,使用一个列表来存储斐波那契数列,初始值为0和1。然后,使用一个循环遍历从2到n之间的所有数字,每次计算出当前数字的值,并将其添加到列表中。最后,返回生成的斐波那契数列。
相关推荐
![txt](https://img-home.csdnimg.cn/images/20210720083642.png)
![py](https://img-home.csdnimg.cn/images/20210720083646.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)