CSP-S 提高级 · CSP 2023 提高级第一轮 第 14 题

选择题 · 答案 B · 考点:进制与编码、整数与整除

← 整套速查表 CSP-S 提高级 全部真题

题目

若 $n=\sum_{i=0}^k {16^i\cdot x_i}$,定义 $f(n)=\sum_{i=0}^k {x_i}$,其中 $x_i\in\{0,1,\cdots,15\}$。对于给定自然数 $n_0$,存在序列 $n_0,n_1,n_2,\cdots,n_m$,其中对于 $1 \le i \le m$ 都有 $n_i=f(n_{i-1})$,且 $n_m=n_{m-1}$,称 $n_m$ 为 $n_0$ 关于 $f$ 的不动点。问在 $100_{16}$ 到 $1A0_{16}$ 中,关于 $f$ 的不动点为 $9$ 的自然数个数为()。

答案:B

考点

进制与编码整数与整除

解题思维

题意理解: n = Σ(16^i × x_i),即 n 的十六进制表示为 ...x₃x₂x₁x₀ f(n) = Σx_i,即 n 的各位数字之和(十六进制)

定义迭代:n₀ → n₁=f(n₀) → n₂=f(n₁) → ... 直到不动点(n_m = n_{m-1})

要求:在 [100₁₆, 1A0₁₆] 范围内,不动点为 9 的自然数有多少个。

注意: 十六进制各位数字之和,最终收敛到的"不动点"就是数位和。对于任何正整数,反复求十六进制数位和,最终会收敛到一个 ≤ 15 的数(因为最大一位十六进制数 F=15)。

题目问的是:在范围内哪些数经过反复求十六进制数位和后收敛到 9。

范围 [100₁₆, 1A0₁₆] 即十进制 [256, 416]

逐一检查或利用规律:不动点为 9 → 这个数本身数位和最终为 9。

经过计算,该范围内有 11 个这样的数。

常见错误

最大难点: 理解题目在说什么。"不动点"就是反复求数位和最终收敛到的那个一位数。对十六进制,每个数反复求数位和,最终会收敛到 0~15 之间的一个数。

另一个难点:范围 [100₁₆, 1A0₁₆] 是十六进制表示,要正确转换为十进制理解大小。

详细解析(节选)

考察知识点: 数论 — 进制与数位和

题目解密:

题面看起来很复杂,其实核心很简单:

十六进制数位和举例:

解题: 范围 [100₁₆, 1A0₁₆]

要求这些数中,通过反复求十六进制数位和最终收敛到 9 的个数。

经过分析计数,答案为 11(选项 B)。

技巧: 遇到"不动点"这类题,先用小数字手动模拟几步理解迭代过程,弄清"不动点"实际就是"数位和的收敛值"。

同考点真题

在 OI伴学 里做这道题
登录后可计时作答、查看完整六段式解析,并按你的错题自动生成同类练习。
去刷题先做一次 AI 学情诊断