已知 $f(1) = 1$,且对于 $n \geq 2$ 有 $f(n) = f(n - 1) + f(\lfloor n/2\rfloor )$,则 $f(4)$ 的值为?
这题就是考递推,别想复杂,直接从 f(1)=1 开始,按公式一层层往上算 f(2)、f(3) 直到 f(4),中间注意向下取整别算错就行。
最容易栽跟头的是把 f(4) 直接套成 f(3)+f(2) 就算完,其实 f(2) 本身还得算 f(1)+f(1)。还有就是看到 n/2 就下意识想四舍五入,或者对奇数取整搞混,比如觉得 f(3) 里 n/2 应该取 1.5 之类的,其实题目明确是向下取整,f(3) 里的 f(n/2) 就是 f(1)。
递推计算 + 向下取整。
递推就是数列里第 n 项等于前面几项的某种组合,这题给的是 f(n) = f(n-1) + f(向下取整 n/2)。 向下取整 \lfloor x \rfloor 就是不超过 x 的最大整数,比如 \lfloor 4/2 \rfloor = 2,\lfloor 3/2 \rfloor = 1,千万别当成四舍五入或者向上取整。
这题表面看很简单,但命题人喜欢让你“跳过”中间项直接算 f(4)。很多同学会想:f(4) = f(3) + f(2),算完就完事了,结果 f(2) 本身还得算 f(1)+f(1),如果没算对 f(2),最后答案就错了。另外,奇数项里的 \lfloor n/2 \rfloor 容易让人下意识觉得是 1.5 之类的,其实必须取整为 1。
拿到题,第一反应是:已知 f(1)=1,公式里每一项都只依赖比它小的项,所以只能从小到大一层层算。
f(2) = f(1) + f(\lfloor 2/2 \rfloor) = f(1) + f(1) = 1 + 1 = 2。 这里很多人会漏掉这一步,直接跳到 f(3) 或 f(4),结果 f(2) 没算对,后面全错。
f(3) = f(2) + f(\lfloor 3/2 \rfloor) = f(2) + f(1) = 2 + 1 = 3。 注意 \lfloor 3/2 \rfloor = 1,不是 1.5 也不是 2,这是向下取整的坑。
f(4) = f(3) + f(\lfloor 4/2 \rfloor) = f(3) + f(2) = 3 + 2 = 5。
从 f(1)=1 开始,依次算出 f(2)=2、f(3)=3、f(4)=5,答案就是 5。
递归函数在题库里共考过 115 题,覆盖 8 个级别,逐年分布:2007 年 4 题、2008 年 4 题、2009 年 2 题、2010 年 2 题、2012 年 2 题、2013 年 3 题、2014 年 1 题、2019 年 2 题、2020 年 1 题、2021 年 5 题、2022 年 2 题、2023 年 7 题、2024 年 25 题、2025 年 15 题、2026 年 18 题、null 年 22 题;分赛事:GESP 五级 35 题、CSP 入门级 32 题、GESP 六级 12 题、NOIP 提高组 初赛 10 题、CSP 提高级 9 题、NOIP 普及组 初赛 8 题、GESP 七级 7 题、GESP 八级 2 题。 数列基础共考过 5 题,覆盖 2 个级别(2010-2024):2010 年 2 题、2019 年 1 题、2020 年 1 题、2024 年 1 题;分赛事:CSP 提高级 3 题、NOIP 普及组 初赛 2 题。 从数据看,递归函数近年考频明显上升,2024 年单年 25 题,2025 年 15 题,2026 年 18 题,说明这类递推计算题在 CSP 提高级和 NOIP 普及组/提高组初赛里越来越常见。
基于给定数据,递归函数在 CSP 提高级、NOIP 普及组/提高组初赛的考频持续走高,未来几年仍大概率作为单选或多选的基础送分题出现,形式多为给定 f(1) 及递推式,要求算到 f(n)(n 较小,直接手算即可)。暂无足够依据预测是否会引入更复杂的递推结构或结合其他知识点(如取模、多变量递推),因为目前题库中数列基础仅 5 题且均为简单递推,递归函数虽多但多为单变量线性递推。因此,短期内这类纯递推计算题仍将以“从已知边界开始逐层推进”的形式考查,重点就是别跳步、别搞错向下取整。