对于一个整数 $n$,定义 $f(n)$ 为 $n$ 的各位数字之和,问使 $f(f(x))=10$ 的最小自然数 $x$ 是多少?
这题别急着代入选项算,先顺着 f(f(x))=10 倒推:外层 f 把内层值压成 10,内层最小能取到 19,再找各位和为 19 的最小数,位数越少越好,两位数顶多 18,所以至少三位,百位取最小 1 即可。
最容易把 f(f(x)) 当成一次求和,直接去凑 f(x)=10 的数,结果全错;或者只盯着选项算,没意识到要优先保证位数最少、高位最小;还有人会误以为 199 的 f 值是 19 但忘记验证 f(19) 是否等于 10,导致漏掉嵌套关系。
本题考的是数论基础里的“各位数字之和”函数 f(n),以及函数嵌套的逆向思考。f(n) 就是把 n 的十进制各位相加,比如 f(199)=1+9+9=19。
命题人爱玩“倒推”:给最终结果,让你找最小原数。这里 f(f(x))=10,意味着先算一次 f(x) 得到一个中间值 y,再算 f(y)=10。要 x 最小,得让 y 最小,再让 x 的位数最少、高位最小。
1. 先解 f(y)=10。满足条件的 y 有 19,28,37,46,55,64,73,82,91,109 等,最小的显然是 19(两位数比三位数小)。所以 y=19。 2. 再解 f(x)=19。要让 x 最小,先看位数:两位数最大和是 9+9=18<19,不够;三位数最小和为 1+9+9=19,刚好。所以 x 必须是三位数,百位取最小 1,剩下两位凑 18,自然就是 9,9。 3. 于是候选最小 x=199。
f(199)=1+9+9=19,f(19)=1+9=10,f(f(199))=10,完全符合。
“各位数字之和”在题库共考过 36 题,覆盖 2020-2026 年,其中 2026 年爆发性考了 13 题,2024 年 1 题,2020 年 1 题,还有 21 题年份数据缺失。分赛事看,CSP 入门级占了 29 题,提高级仅 7 题;函数与映射专题里,提高级只考了 1 题(2024 年),NOIP 提高组初赛 1 题。说明该知识点在入门级高频,提高级相对低频,但 2026 年数据异常高,可能暗示命题组在提高级开始加大数论/函数嵌套的考查力度。
基于 2026 年 13 题的激增和入门级的高占比,未来提高级在“数位和、数字根、函数嵌套”这类计算型题目上大概率会延续甚至加码,尤其是结合模运算或进制转换的复合型小题。暂无足够依据预测具体年份分布,但建议把“先倒推中间值、再最小化位数与高位”的思维刻进肌肉记忆。