c 斐波那契数列第n项输出
时间: 2024-12-04 15:30:26 浏览: 37
斐波那契数列是一个经典的数学序列,每一项都是前两项之和,通常从0和1开始,即F(0) = 0, F(1) = 1,后续项如F(2) = 0+1=1, F(3) = 1+1=2, F(4) = 1+2=3, 以此类推。
如果你想要计算第n项的斐波那契数值,可以使用递归、动态规划或矩阵快速幂等方法。以下是递归算法的一个简单示例:
```python
def fibonacci(n):
if n <= 1:
return n
else:
return fibonacci(n-1) + fibonacci(n-2)
```
然而,这种方法对于大数n来说效率较低,因为它会重复计算很多次相同的子问题。更好的做法是使用循环(动态规划),避免重复计算:
```python
def fibonacci_dp(n):
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]
```
如果你想立即获取任意大的斐波那契数,还可以借助Python内置的大数运算功能或者第三方库:
```python
from functools import lru_cache
@lru_cache(maxsize=None)
def fibonacci_memoized(n):
if n <= 1:
return n
else:
return fibonacci_memoized(n-1) + fibonacci_memoized(n-2)
fibonacci_memoized(100) # 输出第100项的值
```
阅读全文