python求第n个斐波那契数列的值
时间: 2024-09-13 20:09:06 浏览: 37
使用python求斐波那契数列中第n个数的值示例代码
5星 · 资源好评率100%
在Python中,求第n个斐波那契数列的值有多种方法,其中一种常见的递归方法和非递归方法(使用动态规划)如下:
**递归方法(效率较低,不适合大数据)**
```python
def fibonacci_recursive(n):
if n <= 0:
return "输入错误,n应大于0"
elif n == 1 or n == 2:
return 1
else:
return fibonacci_recursive(n - 1) + fibonacci_recursive(n - 2)
n = int(input("请输入你要查找的斐波那契数列的位置:"))
result = fibonacci_recursive(n)
print(f"第{n}个斐波那契数是:{result}")
```
**非递归方法(动态规划,效率较高)**
```python
def fibonacci_iterative(n):
if n <= 0:
return "输入错误,n应大于0"
fib_sequence = [0, 1] + [0] * (n - 1)
for i in range(2, n+1):
fib_sequence[i] = fib_sequence[i-1] + fib_sequence[i-2]
return fib_sequence[n]
n = int(input("请输入你要查找的斐波那契数列的位置:"))
result = fibonacci_iterative(n)
print(f"第{n}个斐波那契数是:{result}")
```
在这个迭代方法中,我们创建了一个列表存储斐波那契数列,避免了重复计算。
阅读全文