这个数列是斐波那契数列,其规律是从第三项开始,每一项等于前两项之和。数列的递推公式为:
[
F(n) =
begin{cases}
1 &
ext{当 } n = 1
ext{ 或 } n = 2
F(n-1) + F(n-2) &
ext{当 } n geq 3
end{cases}
]
1. 递归法:直接按照递推公式编写代码,但效率较低(时间复杂度 ( O(2^n) ))。
2. 迭代法:用循环逐项计算,时间复杂度 ( O(n) ),空间复杂度 ( O(1) )。
3. 通项公式(比内公式):
[
F(n) = frac{phi^n
]
注意:由于浮点数精度问题,实际计算时可能需要取整。
python
def fibonacci(n):
a, b = 1, 1
for _ in range(n-1):
a, b = b, a + b
return a
n = 10
print(f"第{n}项是:{fibonacci(n)}") 输出:第10项是:55
如果需要计算极大值(如 ( n > 1000 )),建议使用矩阵快速幂优化(时间复杂度 ( O(log n) ))。
版权声明: 知妳网保留所有权利,部分内容为网络收集,如有侵权,请联系QQ793061840删除,添加请注明来意。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态
