CSP-J 初赛模拟卷(第 14 套)
参考答案与解析
--- #### **一、单项选择题** **答案速查** | 题号 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | | 答案 | A | D | D | A | C | C | D | C | | 题号 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | | 答案 | B | A | B | B | B | A | B | **逐题解析** ##### 第1题 **答案:** A **解析:** 一个字节为 $8$ 位,因此 $32$ 位整型变量占 $32/8=4$ 个字节。 ##### 第2题 **答案:** D **解析:** `00100100` 和 `00010101` 分别表示 $36$ 和 $21$,相加为 $57$,二进制结果为 `00111001`。 ##### 第3题 **答案:** D **解析:** 汇编语言仍用于与硬件密切相关的程序和特定性能要求的场景,并未被完全淘汰,因此 D 的说法错误。 ##### 第4题 **答案:** A **解析:** FTP 是文件传输协议,用于在网络中的计算机之间传输文件。 ##### 第5题 **答案:** C **解析:** 只含一种字母的不同非空子串有 $3\times3=9$ 个;跨越 `A/B` 或 `B/C` 边界的各有 $3\times3=9$ 个;同时含 `A、B、C` 的有 $3\times3=9$ 个。共 $9+9+9+9=36$ 个。 ##### 第6题 **答案:** C **解析:** 对非负的 `x`,先乘 $100$,加 $0.5$ 后转为整数以完成四舍五入,再除以 `100.0` 恢复数量级,对应选项 C。 ##### 第7题 **答案:** D **解析:** 补码 `11111001` 的符号位为 $1$,表示负数;逐位取反再加一,得其绝对值 `00000111`,即 $7$。所以原码为 `10000111`。 ##### 第8题 **答案:** C **解析:** 欧几里得算法利用 $\gcd(a,b)=\gcd(b,a\bmod b)$,当 `b==0` 时返回 `a`,计算的是最大公约数。 ##### 第9题 **答案:** B **解析:** 将三个盘子中的苹果数按从大到小排列,可得 $(7,0,0)$、$(6,1,0)$、$(5,2,0)$、$(5,1,1)$、$(4,3,0)$、$(4,2,1)$、$(3,3,1)$、$(3,2,2)$,共 $8$ 种。 ##### 第10题 **答案:** A **解析:** 各层最多分别有 $1,2,4,\ldots,2^{n-1}$ 个结点,求和得到 $2^n-1$。 ##### 第11题 **答案:** B **解析:** 无向完全图中,每两个不同顶点之间恰有一条边,因此边数为 $\binom72=7\times6/2=21$。 ##### 第12题 **答案:** B **解析:** 根的高度为 $1$ 时,高度为 $h$ 的完全二叉树满足 $2^{h-1}\le n\le2^h-1$。由于 $32\le61\le63$,所以高度为 $6$。 ##### 第13题 **答案:** B **解析:** 元素 $7$ 与后面的 $2,3,5,4$ 形成 $4$ 个逆序对,元素 $5$ 与 $4$ 再形成 $1$ 个,合计 $5$ 个。 ##### 第14题 **答案:** A **解析:** 若 `L[k]` 同时大于两侧元素,应直接返回峰顶值,对应 c;若仍处于上升段,应搜索右半部分,对应 a;否则搜索左半部分,对应 b。顺序为 `c、a、b`。 ##### 第15题 **答案:** B **解析:** 广度优先搜索按距起点的层次逐层扩展,先发现的结点先被扩展,因此通常使用先进先出的队列。 #### **二、阅读程序** ##### 程序(1) **程序分析:** 递归满足 $\operatorname{luo}(n,m)=\sum_{0\le i1$ 时,数组 `d` 模拟 $k$ 进制计数,`len` 为有效位数,`ans` 记录进位次数。因此 $\mathrm{ans}=\sum_{t\ge1}\lfloor n/k^t\rfloor$。当 $k=1$ 时应直接分析程序,此时每轮恰有一次进位,最终 `ans=n`。 **答案速查** | 题号 | 22 | 23 | 24 | 25 | 26 | 27 | | :---: | :---: | :---: | :---: | :---: | :---: | :---: | | 答案 | × | × | √ | D | B | D | ###### 第22题 **答案:** ×(错误) **解析:** 当 $k=1$ 时,第一轮使 `len` 变为 $2$,随后不再增加,因此 `len` 并不总等于 $n$。 ###### 第23题 **答案:** ×(错误) **解析:** 取 $n=1,k=2$,最终 `len=1`,并不小于 $n$,即可构成反例。 ###### 第24题 **答案:** √(正确) **解析:** `len` 是 $n$ 的 $k$ 进制位数,满足 $k^{\mathrm{len}-1}\le n0$ 时最终至少有一对,输出小于 $2n$。 ###### 第29题 **答案:** ×(错误) **解析:** 最终答案为偶数,但某一次执行 `++ans` 后的中间值可以是奇数。例如仅配对 `(1,2)` 时,扫描 `i=1` 就可能使 `ans` 变为 $1$。 ###### 第30题 **答案:** ×(错误) **解析:** 例如输入配对 `(1,2)`、`(3,1)` 后,`a[1]=2`、`b[1]=3`,二者可以同时大于零。 ###### 第31题 **答案:** ×(错误) **解析:** 例如先后输入 `(1,2)`、`(1,3)`,每次均有 `x