冷启动:先认清这是一道什么题
假设你只会用递推式算前几项。先动手算,看看会撞上什么墙。
① 算前几项。 a1=1,an+1=an−31an2:
a2=1−31=32≈0.667,a3=32−31⋅94=2714≈0.519,a4≈0.429
数列在往下掉,而且越掉越慢。要的是 a100——照这个速度手算 99 次,考场上想都别想。
② 墙在哪:这个数列没有通项公式。 an+1=an(1−3an) 既不是等差(差不是常数)也不是等比(比不是常数),而且它是二次递推,写不出封闭形式。所以这道题从一开始就不是「求出来」,而是**「估出来」**——把 a100 夹在两个能算的数之间。
③ 目标翻译。 选项问 100a100 落在哪个区间。四个选项的分界点是 2, 25, 3, 27, 4。官方答案 B 说的是
25<100a100<3⟺401<a100<1003⟺3100<a1001<40
注意最后一步取了倒数,不等号方向翻了。 而且——把目标写成 a1001 的范围之后,它变成了一个宽度只有 6.7 的区间(33.3 到 40),这提示我们:该盯的量是 an1,不是 an。
④ 为什么倒数是对的量。 an 单调减、衰减越来越慢,看不出规律;但它的倒数在往上涨,而且——下面就会算出来——每一步涨的量几乎是固定的 31。一个「每步涨固定量」的数列就是等差数列,而等差数列的第 100 项一眼就写得出来。
这就是本题的全部构思:换一个量看,一个求不出通项的数列就变成了一条近似直线。
解法一:取倒数 → 夹住每步增量 → 两侧各累加一次
① 先证 0<an≤1。 后面每一步不等式都要用它,所以先立住。
用数学归纳法。a1=1∈(0,1] ✓。设 0<an≤1,则
an+1=an(1−3an)
因为 0<an≤1,括号里 1−3an∈[32,1),两个正数相乘,故
0<an+1<an≤1
于是 0<an+1≤1 ✓。归纳完成。顺带得到 {an} 严格递减且恒正——这也说明 an 不会跑到 0 以下,倒数一直有意义。
② 取倒数,把递推变成加法。
an+11=an(1−3an)1=an(3−an)3
关键的一次裂项(通分验一下即可):
an(3−an)3=an1+3−an1
(验:an1+3−an1=an(3−an)(3−an)+an=an(3−an)3 ✓。)于是每一步的增量是
an+11−an1=3−an1
这就是全题的枢纽。 由第 ① 步 0<an≤1,得 3−an∈[2,3),所以
31<3−an1≤21
——增量确实几乎恒等于 31(只是略大一点点)。

③ 第一次累加(粗):得 an 的上界,收掉「100a100<3」。
用增量的下界 3−an1>31,把 n=1 到 n−1 的差全部加起来(累加法,一共 n−1 项):
an1−a11=k=1∑n−13−ak1>3n−1
因为 a1=1,即
an1>1+3n−1=3n+2⟹an<n+23(n≥2)
(取倒数翻不等号。)代 n=100:
a100<1023=341⟹100a100<34100=1750≈2.94<3 ✓
上界拿到了,C 和 D 出局。 剩下 A(2∼2.5)与 B(2.5∼3)——差别在下界,还得再干一轮。
④ 第二次累加(精):把粗界回代,得 an 的下界。
现在要增量的上界。直接用 3−an1≤21 行不行?累加 99 次得 a1001≤1+299=50.5,而我们要的是 <40——差太远,这就是放缩过头。
问题出在 21 是拿 an≤1 估的,而 an 早就小得多了。第 ③ 步刚证出 an<n+23,把它回代进分母:an 小 ⟹ 3−an 大 ⟹ 增量小。
3−an1<3−n+231=3(n+1)n+2=31(1+n+11)(n≥2)
n=1 那一项单独看:a1=1,增量恰好是 3−11=21,而 31(1+21)=21——恰好取等。所以上面这条式子对所有 n≥1 都成立(n=1 取等)。
累加 k=1 到 99:
a1001−1 ≤ k=1∑9931(1+k+11)=399+31(21+31+⋯+1001)=33+31S
其中 S=21+31+⋯+1001。
⑤ 估那个和 S:只要证 S<18 就够。 目标是 a1001<40,即 33+31S<39,即 S<18。先算清预算再放缩——预算有 18,而 S 实际只有 4.2 左右,余量极宽,所以可以放得很粗。
分两块估(别整段按最大项估,那样会爆):
S=4 项,每项≤21(21+31+41+51)+95 项,每项≤61(61+71+⋯+1001)≤4×21+95×61=2+695<2+16=18
所以 S<18,于是
a1001<1+33+318=40⟹a100>401⟹100a100>25 ✓
⑥ 两侧合起来。
25<100a100<3
故选 B。
⑦ 换一种记账法,结果一样。 第 ④ 步还有一种写法:把增量拆成「主项 + 误差」
3−an1=31+3(3−an)an≤31+6an
(因为 3−an≥2。)累加得 a1001≤1+33+61∑k=199ak,于是只要证 ∑ak<36。再用第 ③ 步的 ak<k+23 分块粗估即可。它与上面走的是同一次累加、同一个回代,只是把误差记成 ∑k+11 还是记成 ∑ak 的区别,不是另一条路。
⑧ 拿真值核对一遍。 让计算机老老实实迭代 99 次,得 100a100≈2.836——稳稳落在 (25,3) 里,而且离两个端点都还有距离。这印证了两件事:结论对;以及我们的放缩确实”够用但不浪费”(上界 1750≈2.94、下界 25=2.5,把真值 2.836 夹住了;顺带一提,第 ⑤ 步那道粗估如果不做、直接把 S 的真值 H100−1≈4.187 代进去,得 a1001≤35.396,下界能到 2.82(下界只能向下截,不能四舍五入进位——100/35.396=2.8252,写成 2.83 就是印了一个没证过的更强结论),已经很贴近真值——可见粗估浪费掉的余量都花在「让手算变得可能」上了)。
(这一步不是解法——考场上没有计算机。它的用处是让你知道自己该往哪个方向估,以及估完之后心里有底。)
为什么这道题只有一条路
高考里很多题有几条实质不同的路,这道题没有。原因很具体:
能下手的地方只有一个。 {an} 求不出通项、不单调等差也不等比,唯一可用的结构是递推式本身。而递推式 an+1=an(1−3an) 的乘法结构,只有取倒数才能变成能累加的加法结构——这一步没有替代品:两边取 ln 得 lnan+1=lnan+ln(1−3an),后一项照旧含 an、并没变简单;作差 an+1−an=−31an2 还是含 an2;平方、作比也都不通。
倒数一取,an+11−an1=3−an1 摆在眼前,剩下的动作是唯一确定的:夹住增量、上下各累加一次。上下两侧的放缩式子可以写得不一样(第 ⑦ 步给了另一种记账),但那是同一次累加换个写法,中间对象与推进方式都没变。
至于「直接迭代」——那不是解法,是核对(第 ⑧ 步)。这道题真正值得练的,是第 ④ 步那个「先粗后精」的反射:一次放缩不够就把结果回代再放一次,而不是硬着头皮把粗界往下算。
🕳️ 避坑
- 别用 3−an1≤21 去累加。 它是对的,但累加 99 次得 a1001≤50.5,够不着 40——典型的放缩过头。要先粗后精:先证 an<n+23,再回代。
- 取倒数要翻不等号。 an1>3n+2⇒an<n+23。这道题从头到尾在 an 与 an1 之间来回换,每换一次都要检查方向。
- 累加的项数是 99 不是 100。 从 a11 到 a1001 之间隔着 99 个差。多算一项,主项就从 33 变成 3100,恰好把 40 这个界顶破。
- 调和和别整段按最大项估。 21+⋯+1001≤99×21=49.5 直接爆掉。分块:前几项按各自的量级、后面一大段按那一段的最大项。
- 两侧都要做。 只证出 100a100<3 就选,A 和 B 都还活着——四个选项恰好把「只做上界」的人卡在这里。
- 本题特有的一处:n=1 那一项的增量 21 恰好等于上界公式 31(1+n+11) 在 n=1 处的值,所以那条只在 n≥2 证出的不等式,n=1 时碰巧也成立(取等),可以放心一起累加。这种「端点恰好取等」不是每次都有——换一道题就得把前几项单独拎出来算。