∫π每天一道数学题
← 返回数列专题
数列 · 第 9 讲 · 2026-08-30 · 约 11 分钟

第9讲 递推数列——从一项推出下一项的艺术

递推是数列的灵魂。等差等比只是最简单的递推,真正有意思的数列都藏在递推关系里。累加法、累乘法、构造法——这三样兵器,能搞定高中大部分递推问题。

递推才是数列的本质

前面我们学了等差数列和等比数列,它们都有漂亮的通项公式。

但你有没有想过:人类最早认识数列的时候,是先有通项公式,还是先有递推关系?

答案是先有递推

你看一个细胞分裂成两个,两个分裂成四个——你第一反应肯定是"后一项是前一项的两倍",而不是"第 n 项是 2 的 n 次方"。

递推更贴近事物的生长过程:知道了前面的,就能推出后面的。它描述的是变化的规则,而不是最终的结果。

通项公式虽然好用,但它是"结果"——是我们从递推关系里"解"出来的。

这一讲,我们就来学高中阶段几种最常见的递推类型,以及它们对应的求通项方法。

示意图

递推数列的三种类型

从简单到复杂:一阶线性(累加/累乘)→ 一阶常系数(构造法)→ 二阶线性(特征根)

类型一:aₙ = aₙ₋₁ + f(n) —— 累加法

这是最简单的递推关系之一:后一项等于前一项加上一个关于 n 的函数。

an=an1+f(n)(n2)a_n = a_{n-1} + f(n) \quad (n \ge 2)

怎么求通项?思路很朴素:既然每一项都比前一项多了 f(n),那把所有的"增量"加起来不就行了?

把递推式从 n=2n=2 写到 nn

a2a1=f(2)a3a2=f(3)a4a3=f(4)anan1=f(n)\begin{aligned} a_2 - a_1 &= f(2) \\ a_3 - a_2 &= f(3) \\ a_4 - a_3 &= f(4) \\ &\ldots \\ a_n - a_{n-1} &= f(n) \end{aligned}

把这 n1n-1 个式子左边加左边,右边加右边,中间的 a2,a3,,an1a_2, a_3, \ldots, a_{n-1} 全部抵消了:

ana1=f(2)+f(3)++f(n)=k=2nf(k)a_n - a_1 = f(2) + f(3) + \ldots + f(n) = \sum_{k=2}^{n} f(k)

所以:

an=a1+k=2nf(k)a_n = a_1 + \sum_{k=2}^{n} f(k)

这就是累加法(也叫叠加法)。

等差数列 an=an1+da_n = a_{n-1} + d 其实是累加法的特例——当 f(n)=df(n) = d(常数)时,累加的结果就是 (n1)d(n-1)d,和我们之前学的通项公式完全一致。

累加法的关键:递推式能写成 "anan1=a_n - a_{n-1} = 只含 n 的式子"。只要能写成这个形式,就可以累加。

类型二:aₙ = aₙ₋₁ · f(n) —— 累乘法

和累加法对应的是累乘法。如果递推关系是乘法的:

an=an1f(n)(n2)a_n = a_{n-1} \cdot f(n) \quad (n \ge 2)

那我们就把所有的"倍率"乘起来。

把递推式从 n=2n=2 写到 nn

a2a1=f(2)a3a2=f(3)a4a3=f(4)anan1=f(n)\begin{aligned} \frac{a_2}{a_1} &= f(2) \\ \frac{a_3}{a_2} &= f(3) \\ \frac{a_4}{a_3} &= f(4) \\ &\ldots \\ \frac{a_n}{a_{n-1}} &= f(n) \end{aligned}

左边乘左边,右边乘右边,中间全部约掉:

ana1=f(2)f(3)f(n)=k=2nf(k)\frac{a_n}{a_1} = f(2) \cdot f(3) \cdot \ldots \cdot f(n) = \prod_{k=2}^{n} f(k)

所以:

an=a1k=2nf(k)a_n = a_1 \cdot \prod_{k=2}^{n} f(k)

这就是累乘法(也叫叠乘法)。

等比数列 an=an1qa_n = a_{n-1} \cdot q 是累乘法的特例——当 f(n)=qf(n) = q(常数)时,累乘的结果就是 qn1q^{n-1}

累加和累乘,一个对应等差、一个对应等比,结构完全对称——又是加法变乘法的翻译。

类型三:aₙ = paₙ₋₁ + q —— 构造法

这是高中最常考的递推类型,也是很多同学的噩梦。

an=pan1+q(n2, p1, p0)a_n = p a_{n-1} + q \quad (n \ge 2,\ p \neq 1,\ p \neq 0)

左边是 ana_n,右边是 an1a_{n-1} 乘以一个常数,再加一个常数。既不是等差(因为乘了 p),也不是等比(因为加了 q)。

怎么办?我们想办法把它变成等比数列。

思路是这样的:假设我们在两边都减去一个常数 λ\lambda,让它变成等比的形式:

anλ=p(an1λ)a_n - \lambda = p(a_{n-1} - \lambda)

展开右边:

anλ=pan1pλa_n - \lambda = p a_{n-1} - p \lambda

整理一下:

an=pan1+λpλa_n = p a_{n-1} + \lambda - p \lambda

和原式 an=pan1+qa_n = p a_{n-1} + q 对比,常数项应该相等:

λpλ=q\lambda - p \lambda = q λ(1p)=q\lambda(1 - p) = q λ=q1p\lambda = \frac{q}{1 - p}

找到了!只要我们令 bn=anq1pb_n = a_n - \dfrac{q}{1 - p},那么新数列 {bn}\{b_n\} 就是一个公比为 pp 的等比数列。

求出了 bnb_n 的通项,ana_n 自然就出来了:

an=bn+q1pa_n = b_n + \frac{q}{1 - p}

这个方法叫做构造法,也叫待定系数法——我们先假设有这么一个常数 λ\lambda,然后通过对比系数把它求出来。

构造法的核心思想:把不熟悉的递推关系,通过巧妙的变形,变成熟悉的等比数列。 这是数学里非常通用的一种思路——化归:把未知问题转化为已知问题。

类型四:aₙ = paₙ₋₁ + f(n) —— 更一般的构造

如果右边加的不是常数 qq,而是一个关于 nn 的函数 f(n)f(n),怎么办?

an=pan1+f(n)a_n = p a_{n-1} + f(n)

思路还是一样的:想办法构造成等比数列。但这次构造的不是"减一个常数",而是"减一个关于 n 的函数"。

具体怎么构造,要看 f(n)f(n) 是什么形式:

  • 如果 f(n)f(n) 是一次函数(比如 f(n)=an+bf(n) = an + b),就构造 an(An+B)=p[an1(A(n1)+B)]a_n - (An + B) = p[a_{n-1} - (A(n-1) + B)]
  • 如果 f(n)f(n) 是指数函数(比如 f(n)=crnf(n) = c \cdot r^n),就构造 anArn=p(an1Arn1)a_n - A \cdot r^n = p(a_{n-1} - A \cdot r^{n-1})
  • 如果 f(n)f(n) 是二次函数,就构造二次函数的形式

总之,f(n)f(n) 长什么样,我们就构造一个同样"形状"的式子去减它,把右边剩下的部分变成纯等比。

这个方法高中阶段不要求掌握所有情况,但最基本的(常数、一次、指数)最好心里有数。

类型五:二阶线性递推(了解)

如果递推关系里出现了前两项:

an=pan1+qan2a_n = p a_{n-1} + q a_{n-2}

这就是二阶线性递推,需要两个初始条件(a1a_1a2a_2)才能确定整个数列。

最经典的例子就是斐波那契数列:Fn=Fn1+Fn2F_n = F_{n-1} + F_{n-2}F1=1,F2=1F_1 = 1, F_2 = 1

二阶递推的通项求法叫特征根法,在高考中一般不做硬性要求(属于竞赛内容),但知道有这么个方法没坏处。

思路是这样的:假设解的形式是 an=xna_n = x^n,代入递推式得到一个二次方程(特征方程),解出两个根 x1,x2x_1, x_2,那么通解就是 an=Ax1n+Bx2na_n = A x_1^n + B x_2^n,再用初始条件确定 A 和 B。

斐波那契数列那个看起来很复杂的通项公式,就是这么来的。

一个核心思想:化归

讲了这么多类型,你可能会觉得"递推的花样好多啊"。

但其实万变不离其宗,核心思想就一个词——化归

什么是化归?就是把不熟悉的问题转化成熟悉的问题

  • 累加法:把 anan1=f(n)a_n - a_{n-1} = f(n) 转化为求和问题
  • 累乘法:把 anan1=f(n)\dfrac{a_n}{a_{n-1}} = f(n) 转化为求积问题
  • 构造法:把 an=pan1+qa_n = pa_{n-1} + q 转化为等比数列
  • 特征根法:把二阶递推转化为解二次方程

每一种递推类型,本质上都是"通过某种变形,变成我们已经会的东西"。

所以学递推,不是死记"这种类型用那个公式",而是理解为什么要这么变形——因为这样变形之后,就能归到已有的知识体系里。

给个解题步骤

遇到递推数列求通项的题,可以按这个顺序来想:

第一步:看形式。 递推式是 ana_nan1a_{n-1} 的什么关系?加?乘?线性组合?

第二步:定方法。

  • 差为 n 的函数 → 累加法
  • 比为 n 的函数 → 累乘法
  • an=pan1+qa_n = pa_{n-1} + q 型 → 构造法(待定系数)
  • an=pan1+f(n)a_n = pa_{n-1} + f(n) 型 → 构造对应形式的新数列

第三步:验证。 求出来的通项,用 n=1,n=2n=1, n=2 代入验证一下,和已知条件对不对得上。

第三步特别重要。递推的计算步骤多,很容易算错。用前两项验证一下,能避免 80% 的低级错误。

在高中数学体系里的位置

递推数列是数列章节里最灵活、也最能出难题的部分。

高考中,递推通常以两种形式出现:

  1. 解答题第一问:给一个递推关系,让你求通项。这是送分题,只要掌握了基本方法(累加、累乘、构造),一般都能做出来。
  2. 压轴题的一部分:递推关系只是第一步,后面还要结合不等式放缩、数学归纳法、函数性质等等,难度就上去了。

但不管多难的题,递推求通项都是第一步。这一步走对了,后面才有戏;这一步走错了,后面全白搭。

所以递推数列这部分,基本功要扎实——不是说要会多少技巧,而是几种最基本的方法(累加、累乘、构造)要练到条件反射的程度,看到递推式就知道该往哪个方向走。

思考与拓展

  1. 已知 a1=1a_1 = 1an=an1+2n1a_n = a_{n-1} + 2n - 1n2n \ge 2),求 ana_n。(提示:累加,右边是等差数列求和)
  2. 已知 a1=1a_1 = 1an=nn+1an1a_n = \dfrac{n}{n+1} a_{n-1}n2n \ge 2),求 ana_n。(提示:累乘,中间约分)
  3. 已知 a1=1a_1 = 1an=2an1+3a_n = 2a_{n-1} + 3n2n \ge 2),用构造法求 ana_n。(先想想 λ\lambda 应该是多少)
  4. 你能不能用构造法的思路,给 an=3an1+2na_n = 3a_{n-1} + 2^n 这个递推式设计一个构造方案?不用算到最后,说说构造的形式是什么样的就行。

一句话总结

递推数列的核心是化归——用累加、累乘、构造这些方法,把不认识的递推关系,变成我们熟悉的等差或等比。

— Y. · 2026-08-30