排列组合里藏着一个斐波那契
学军试卷里排列组合选择题,四个选项一摆出来:35、55、89、144。
很多孩子的第一反应是:这数也太大了吧,总不能一个一个数吧。
对,不用数。这道题背后藏着一个你小学就认识的数列。
题目 将 1,2,3,…,10 这 10 个数字重新排列,得到新排列 a₁,a₂,…,a₁₀。若对每个 k 都满足

求满足条件的所有排列的个数。
一、先把条件翻译成人话
|aₖ − k| ≤ 1 是什么意思?位置 k 上的数,只能是 k−1、k、k+1 中的一个。
翻译成人话:每个数字要么不动,要么最多挪一格。
10 个数字的排列本来有 10! 种,加了这个约束,绝大多数排法都被干掉了。
约束越强,越值得从单个元素下手——这正是出题人留给你的抓手。
点睛:看到「每个元素只能小幅度移动」,别急着分类讨论所有数字。先问自己一句:最大的元素有几种站法?
二、最大的数 10 只能两种站法
数字 10 本来能站的位置有三个:9 号位、10 号位,还有 11 号位。
但 11 号位不存在。所以只剩两种可能。

情形一:10 留在 10 号位。它不碍任何人的事,剩下 1 到 9 这 9 个数照样满足「最多挪一格」,有 f₉ 种。
情形二:10 挪到 9 号位。关键来了——9 去哪?
9 只能站 8、9、10 号位。9 号位被 10 占了。要是 9 再去 8 号位,那 10 号位就彻底没人能站了:全场上除了 9 和 10,谁也不许站 10 号位。
所以 9 别无选择,只能站 10 号位,跟 10 换位。前 8 个数自成一体,有 f₈ 种。
易错点:分类最容易漏的就是「为什么 9 必须跟着换位」。10 号位只有 9 和 10 两个候选,10 走了,9 不补位,这个位置就空死了。想到这一层,分类才真正做到不重不漏。
两种情形合起来,递推式就出来了:

起点手算就有:

三、把数列推到第 10 项
接下来是纯体力活,一行一行往下加:
f₁ 到 f₁₀ 依次是:1,2,3,5,8,13,21,34,55,89。
所以答案是 89,选 C。这个数列就是斐波那契数列改了个开头。
再回头看选项,出题人的心思全在明面上:55 是 f₉,给少推了一步的人;144 是 f₁₁,给多推了一步的人;35 连数列都不是,是 34(f₈)旁边凑数的。
选项本身就告诉你要用递推,只是很多人没看出来。
四、缩小规模,自己验算一遍
递推听着玄,拿 n = 3 手数一把就踏实了。1、2、3 重排,每个数最多挪一格:
123(全不动);213(1、2 换位);132(2、3 换位)。
就这 3 个,f₃ = f₂ + f₁ = 2 + 1 = 3,分毫不差。
有兴趣的同学再数 n = 4,答案是 5 种:1234;2134;1324;1243;2143。前三个是只换一对,后两个是「2、3 换」和「1、2 换+3、4 换」,正好对应 f₃ 和 f₂ 两路来源,递推看得清清楚楚。
五、方法总结
变式思考:如果把条件放宽成 |aₖ − k| ≤ 2 呢?方法完全一样,还是从 10 入手,只是情形从两类变成四类,递推式变长。期中一般不考,但想通这一步,这类题就真的通了。
这类题在期中卷的选填压轴位不算罕见。识别出「小位移」,认出「递推」,两分钟就能拿分;认不出来,就可能在一个根本数不完的数上耗掉五分钟。
把这道题的完整讲义收好:后台回复【一轮】领取。
更多名校试卷解析,在公众号主页的合集里,菜单「看干货」直达。
觉得有收获,点个「在看」,转给身边正在备期中的同学。