火龙信奥
  • 分享
  • 课程
  • 题库
  • 打卡
    • 代码对战
    • 快速对战
  • 题单
  • 团队
  • 荣誉墙
  • 商城
  • 登录 / 注册

斐波那契数列通项公式

作者: 作者的头像   huolong , 时间:2026-09-03 21:51:09 , 所有人可见, 阅读  4

讲义:利用构造等比数列法(待定系数法)推导斐波那契数列通项公式


一、 斐波那契数列的定义

斐波那契数列 ${F_n}$ 的递推关系式为: $$ \begin{cases} F_1 = 1 \\ F_2 = 1 \\ F_n = F_{n-1} + F_{n-2} \quad (n \ge 3) \end{cases} $$

我们的目标是:求出它的通项公式 $F_n$。


二、 核心思想与构造目标

对于二阶线性递推数列 $F_n = F_{n-1} + F_{n-2}$,我们希望通过引入一个常数 $\lambda$,将其转化为等比数列的形式。

假设存在一个常数 $\lambda$,使得递推式可以改写为: $$ F_n - \lambda F_{n-1} = k (F_{n-1} - \lambda F_{n-2}) $$ 如果能找到这样的 $\lambda$ 和常数 $k$,那么数列 ${F_n - \lambda F_{n-1}}$ 就是一个公比为 $k$ 的等比数列。


三、 利用“待定系数法”求解参数

1. 展开与整理

将上述假设的等式展开: $$ F_n - \lambda F_{n-1} = k F_{n-1} - k \lambda F_{n-2} $$ 移项,把含有 $F_{n-1}$ 的项合并: $$ F_n = (\lambda + k)F_{n-1} - k\lambda F_{n-2} $$

2. 对比系数

将上式与原斐波那契递推式 $F_n = 1 \cdot F_{n-1} + 1 \cdot F_{n-2}$ 进行对应系数比较: 1. $F_{n-1}$ 的系数: $\lambda + k = 1$ 2. $F_{n-2}$ 的系数: $-k\lambda = 1 \implies k\lambda = -1$

3. 求解特征方程

由 $\lambda + k = 1$ 可知 $k = 1 - \lambda$。将其代入 $k\lambda = -1$ 中: $$ \lambda(1 - \lambda) = -1 $$ 展开得: $$ \lambda - \lambda^2 = -1 $$ 移项整理,得到关于 $\lambda$ 的一元二次方程(也称为特征方程): $$ \lambda^2 - \lambda - 1 = 0 $$

利用求根公式 $\lambda = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a}$,解得两个根: $$ \lambda_1 = \frac{1 + \sqrt{5}}{2}, \quad \lambda_2 = \frac{1 - \sqrt{5}}{2} $$


四、 构造两个等比数列

因为该二次方程有两个不同的根 $\lambda_1$ 和 $\lambda_2$,我们可以得到两个不同的递推关系:

  1. 当 $\lambda = \lambda_1$ 时,$k_1 = 1 - \lambda_1 = \lambda_2$(因为 $\lambda_1 + \lambda_2 = 1, \lambda_1\lambda_2 = -1$),递推式为: $$ F_n - \lambda_1 F_{n-1} = \lambda_2 (F_{n-1} - \lambda_1 F_{n-2}) $$ 这说明数列 ${F_n - \lambda_1 F_{n-1}}$ 是以 $\lambda_2$ 为公比的等比数列。

  2. 当 $\lambda = \lambda_2$ 时,同理可得: $$ F_n - \lambda_2 F_{n-1} = \lambda_1 (F_{n-1} - \lambda_2 F_{n-2}) $$ 这说明数列 ${F_n - \lambda_2 F_{n-1}}$ 是以 $\lambda_1$ 为公比的等比数列。


五、 求解通项公式 $F_n$

为了方便书写,我们令: * 黄金分割率 $\alpha = \lambda_1 = \frac{1 + \sqrt{5}}{2}$ * 共轭根 $\beta = \lambda_2 = \frac{1 - \sqrt{5}}{2}$ 易知:$\alpha + \beta = 1$,$\alpha\beta = -1$,且 $\alpha - \beta = \sqrt{5}$。

由前面的分析,我们有: 1. $F_n - \alpha F_{n-1} = \beta (F_{n-1} - \alpha F_{n-2}) = \dots = (F_2 - \alpha F_1)\beta^{n-2}$ 2. $F_n - \beta F_{n-1} = \alpha (F_{n-1} - \beta F_{n-2}) = \dots = (F_2 - \beta F_1)\alpha^{n-2}$

两式相减消去 $F_{n-1}$: 由 (1) - (2) 可得: $$ (\beta - \alpha) F_{n-1} \quad \text{(此方法稍微绕远,我们直接用两式作差法)} $$

更简便的做法:将两个等比数列的通项结果直接作差。 由 $F_n - \alpha F_{n-1} = (1 - \alpha)\beta^{n-2} \cdot \dots$ 两式联立,我们可以直接设 $F_n$ 的通项形式为: $$ F_n = C_1 \alpha^n + C_2 \beta^n $$ 其中 $C_1$ 和 $C_2$ 是待定常数。

利用前两项 $F_1 = 1, F_2 = 1$ 代入: 1. 当 $n = 1$ 时:$C_1 \alpha + C_2 \beta = 1$ 2. 当 $n = 2$ 时:$C_1 \alpha^2 + C_2 \beta^2 = F_2 = 1$

联立方程组: $$ \begin{cases} C_1 \alpha + C_2 \beta = 1 \ C_1 \alpha^2 + C_2 \beta^2 = 1 \end{cases} $$

将第一个方程两边同乘以 $\alpha$: $$ C_1 \alpha^2 + C_2 \alpha\beta = \alpha $$ 用该式减去第二个方程: $$ C_2 (\alpha\beta - \beta^2) = \alpha - 1 $$ 因为 $\alpha + \beta = 1 \implies \alpha - 1 = -\beta$,且 $\alpha\beta = -1$,代入得: $$ C_2 (-1 - \beta^2) = -\beta \quad (\text{此处可直接利用行列式或矩阵求解更快捷}) $$

矩阵/代数简化解法:

由 $\alpha$ 和 $\beta$ 是 $\lambda^2 - \lambda - 1 = 0$ 的根,满足 $\alpha^2 = \alpha + 1$, $\beta^2 = \beta + 1$。 代入初始条件: * $n=1 \implies C_1 \alpha + C_2 \beta = 1$ * $n=2 \implies C_1 (\alpha+1) + C_2 (\beta+1) = 1 \implies (C_1\alpha + C_2\beta) + (C_1 + C_2) = 1$

因为 $C_1\alpha + C_2\beta = 1$,代入上式得: $$ 1 + (C_1 + C_2) = 1 \implies C_1 + C_2 = 0 \implies C_2 = -C_1 $$

将其代入 $n=1$ 的方程: $$ C_1 \alpha + (-C_1)\beta = 1 \implies C_1(\alpha - \beta) = 1 $$ 因为 $\alpha - \beta = \frac{1+\sqrt{5}}{2} - \frac{1-\sqrt{5}}{2} = \sqrt{5}$,所以: $$ C_1 = \frac{1}{\sqrt{5}}, \quad C_2 = -\frac{1}{\sqrt{5}} $$


六、 最终结论(Binet 公式)

将 $C_1$ 和 $C_2$ 的值代入 $F_n = C_1 \alpha^n + C_2 \beta^n$ 中,得到斐波那契数列的通项公式:

$$ F_n = \frac{1}{\sqrt{5}} \left[ \left(\frac{1+\sqrt{5}}{2}\right)^n - \left(\frac{1-\sqrt{5}}{2}\right)^n \right] \quad (n = 1, 2, 3, \dots) $$

—— 本文来自火龙信奥(义乌睿码科技):义乌青少年信息学奥赛与编程教育平台,专注 CSP-J/S、NOIP、GESP 竞赛培训,线上线下融合教学,助力编程升学。网址:hlcoding.com

关于火龙

  • 关于我们
  • 学员获奖
  • 预约试听
  • ACM课程
  • CSP课程
  • 学习指南

帮助中心

  • 用户协议
  • 打字练习
  • 在线画图
  • DevC++下载
  • CSP报名
  • GESP官网

推荐课程

  • C++零基础入门(可试看)
  • C++进阶提升
  • GESP考级辅导
  • GESP打卡
  • CSP-J/S打卡

公众号

火龙信奥公众号二维码

© 2017-2026 义乌市睿码科技有限公司版权所有 浙ICP备2021013995号

火龙信奥
请输入登录信息


请完成安全验证
验证码底图 滑块
向右拖动滑块完成验证
请输入用户名 / 绑定的手机号码



请输入注册信息(手机号验证码注册)





验证码5分钟有效,60秒内不可重复获取,每日最多3次

微信登录

微信登录二维码

正在生成二维码...

账号已过期,请续期。
去续期

绑定手机号

📱

为了更好地保护您的账号安全,享受完整的平台服务

请您尽快绑定手机号码