用python计算斐波那契
时间: 2023-06-30 12:15:09 浏览: 76
计算斐波那契数列是一个经典的编程问题,可以用多种方法实现。以下是两种用 Python 计算斐波那契数列的方法:
1. 递归法
递归法是最简单的实现方法,但是当 n 很大时,递归会导致栈溢出,效率也比较低。
```python
def fibonacci_recursive(n):
if n <= 1:
return n
else:
return fibonacci_recursive(n-1) + fibonacci_recursive(n-2)
```
2. 迭代法
迭代法是一种更高效的实现方法,可以避免栈溢出问题,而且时间复杂度为 O(n)。
```python
def fibonacci_iterative(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 个数的值。
相关问题
用Python计算斐波那契数列第n
斐波那契数列是一个数列,其中每个数字是前两个数字之和。最常见的斐波那契数列是:0、1、1、2、3、5、8、13、21、34、……
下面是使用Python计算斐波那契数列第n个数字的代码:
```python
def fibonacci(n):
if n == 0:
return 0
elif n == 1:
return 1
else:
return fibonacci(n-1) + fibonacci(n-2)
# 测试代码
print(fibonacci(10)) # 输出55
```
该代码使用递归实现斐波那契数列的计算。时间复杂度为 O(2^n),效率较低。在计算大量数据时,需要注意优化算法,减少复杂度。
用Python计算斐波那契数列,列表表示
斐波那契数列是指从 0 和 1 开始,后面的每一项都是前面两项的和。因此,可以使用列表来表示斐波那契数列。
下面是使用 Python 计算斐波那契数列的代码:
```python
n = int(input("请输入要计算的斐波那契数列项数:"))
fib = [0, 1] # 初始的前两项为0和1
for i in range(2, n):
fib.append(fib[i - 1] + fib[i - 2])
print(fib)
```
在这个代码中,我们首先让用户输入要计算的斐波那契数列的项数,然后使用一个列表来存储斐波那契数列的前两项。接着,使用一个 for 循环来计算剩余的每一项,并将其添加到列表中。最后,输出整个列表,即为所求的斐波那契数列。