斐波那契数列
1 斐波那契数列的基本定义
斐波那契数列(Fibonacci Sequence)由意大利数学家列昂纳多·斐波那契在1202年研究兔子繁殖问题时提出,核心是递推关系,有两种常见起始定义:
1.1 标准定义(含0项):
- 第0项:$ F(0) = 0 $
- 第1项:$ F(1) = 1 $
- 递推公式($ n \geq 2 \():\) F(n) = F(n-1) + F(n-2) $
- 数列前几项:$ 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, \dots $
1.2 简化定义(不含0项):
- 第1项:$ F(1) = 1 $
- 第2项:$ F(2) = 1 $
- 递推公式($ n \geq 3 \():\) F(n) = F(n-1) + F(n-2) $
- 数列前几项:$ 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, \dots $
2 通项公式:比内公式
通过特征方程法可推导斐波那契数列的通项公式(比内公式):
[
F(n) = \frac{1}{\sqrt{5}} \left[ \left( \frac{1+\sqrt{5}}{2} \right)^n - \left( \frac{1-\sqrt{5}}{2} \right)^n \right]
]
其中 $ \phi = \frac{1+\sqrt{5}}{2} \approx 1.618 \((黄金分割比),\) \psi = \frac{1-\sqrt{5}}{2} \approx -0.618 $(黄金共轭比)。
3 核心性质
- 极限与黄金分割比:$ \lim_{n \to \infty} \frac{F(n+1)}{F(n)} = \phi $,即相邻项比值趋近黄金分割比。
- 前n项和公式:$ \sum_{k=0}^n F(k) = F(n+2) - 1 $(前n项和等于第n+2项减1)。
- 奇偶项拆分:
- 奇数项:$ F(2n-1) = F(n)^2 + F(n-1)^2 $
- 偶数项:$ F(2n) = F(n+1)^2 - F(n-1)^2 $
- 整除性与最大公约数:
- 若 $ m \mid n $,则 $ F(m) \mid F(n) $;
- $ \gcd(F(m), F(n)) = F(\gcd(m, n)) $(两项的最大公约数等于下标最大公约数的斐波那契数)。
- 矩阵表示:$ \begin{pmatrix} F(n+1) & F(n) \ F(n) & F(n-1) \end{pmatrix} = \begin{pmatrix} 1 & 1 \ 1 & 0 \end{pmatrix}^n $,可用于快速幂计算。
4 典型例题与解答
题型1:基础递推计算
例1:标准定义下求 $ F(10) $。
解答:逐项递推得 $ F(10)=55 \((过程:\) F(2)=1, F(3)=2, \dots, F(10)=34+21=55 $)。
题型2:应用建模(爬楼梯问题)
例2:楼梯有n阶,每次爬1或2阶,求爬到第n阶的爬法数。
建模:设爬法数为 $ F(n) $,最后一步若爬1阶则前n-1阶有 $ F(n-1) $种,若爬2阶则前n-2阶有 $ F(n-2) $种,故 $ F(n)=F(n-1)+F(n-2) $,初始条件 $ F(1)=1, F(2)=2 $,对应斐波那契数列偏移1项。
例:n=5时,爬法数为8。
题型3:数学证明
例3:证明前n项和公式 $ \sum_{k=0}^n F(k) = F(n+2) - 1 $。
证明:数学归纳法:
- 基例:n=0时,左边=0,右边=F(2)-1=0,成立;
- 归纳假设:假设n=k时成立,即 $ \sum_{i=0}^k F(i)=F(k+2)-1 $;
- 归纳步骤:n=k+1时,$ \sum_{i=0}^{k+1} F(i)=F(k+2)-1 + F(k+1)=F(k+3)-1 $,成立。
题型4:算法实现(迭代法)
例4:用迭代法求 $ F(n) $(时间复杂度O(n))。
Python代码:
def fib_iterative(n):
if n == 0:
return 0
a, b = 0, 1
for _ in range(2, n+1):
a, b = b, a + b
return b
本文来自博客园,作者:willeywindsor,转载请注明原文链接:https://www.cnblogs.com/willeywindsor/p/19733322

浙公网安备 33010602011771号