CSP-J/S 2026第一轮J组试卷真题和答案解析(阅读程序部分)

四季读书网 5 0
CSP-J/S 2026第一轮J组试卷真题和答案解析(阅读程序部分)

第二部分,阅读程序。第16题-第33题。判断题1.5分,选择题3分,共计40分。

CSP-J/S 2026第一轮J组试卷真题和答案解析(阅读程序部分)-第1张图片-四季读书网
CSP-J/S 2026第一轮J组试卷真题和答案解析(阅读程序部分)-第2张图片-四季读书网
CSP-J/S 2026第一轮J组试卷真题和答案解析(阅读程序部分)-第3张图片-四季读书网
CSP-J/S 2026第一轮J组试卷真题和答案解析(阅读程序部分)-第4张图片-四季读书网
CSP-J/S 2026第一轮J组试卷真题和答案解析(阅读程序部分)-第5张图片-四季读书网
CSP-J/S 2026第一轮J组试卷真题和答案解析(阅读程序部分)-第6张图片-四季读书网
CSP-J/S 2026第一轮J组试卷真题和答案解析(阅读程序部分)-第7张图片-四季读书网

程序(1)的代码功能是二进制位统计,算法思路:对非负整数 n,x = 1 + 二进制位数,y = 1 + 二进制中 1 的个数。注意:输入 0 时输出 1 1。

第16题  【答案】√

【解析】3 = 11₂,两轮循环后 x = 3、y = 3,输出 3 3。

第17题 【答案】×

【解析】删除第 11 行的 ++x 后,x = 1+0 的个数、y = 1+1 的个数,一般不相等。反例:输入 1,输出 1 2。

第18题【答案】√

【解析】每轮 x 必定加 1,y 至多加 1,初始相等,故始终 x ≥ y;输入 0 时二者同为 1。

第19题【答案】A

【解析】n = 0 时条件 0 >= 0 成立,而 0/2 仍为 0,循环永远无法退出,陷入死循环。

第20题【答案】C

【解析】6 = 110₂:三位、两个 1,x = 1+3 = 4,y = 1+2 = 3,输出 4 3。

第21题【答案】C

【解析】y = 2 当且仅当二进制中恰有一个 1,即 n 为 2 的幂。0..2³¹−1 中有 2⁰, 2¹, …, 2³⁰ 共 31 个(0 输出的 y 是 1,不算)。

CSP-J/S 2026第一轮J组试卷真题和答案解析(阅读程序部分)-第8张图片-四季读书网
CSP-J/S 2026第一轮J组试卷真题和答案解析(阅读程序部分)-第9张图片-四季读书网
CSP-J/S 2026第一轮J组试卷真题和答案解析(阅读程序部分)-第10张图片-四季读书网

程序(2)的代码功能是高精度加法,算法思路:两个十进制数倒序存入数组(个位在下标 0),逐位相加、逢十进一。最大特点:输出固定从 c[max] 到 c[0] 共 L+1 位,不去除前导零。

第22题【答案】√

【解析】123+456 = 579,L = 3,程序输出 4 位:0579。

第23题【答案】×

【解析】若和的位数与较长数相同且无最高位进位(如 12+34),c[L] = 0 照样打印,输出 046 含前导零。

第24题【答案】×

【解析】每个数位只会变小或不变,但"一定更小"不成立:无进位时(如 11+11)结果与原来相同。

第25题【答案】B

【解析】12345+678 = 13023,L = 5,输出固定 6 位:013023。

第26题【答案】A

【解析】95+15:c[0] = 5+5 = 10,改成 >10 后不触发,既不减 10 也不进位;c[1] = 9+1 = 10;c[2] = 0。输出 c[2]c[1]c[0] = 0 10 10,即 01010。

第27题【答案】C

【解析】两个 n 位数之和 < 10ⁿ,说明最高位无进位,c[n] = 0;输出循环固定跑 n+1 个字符,故长度一定为 n+1 且首字符为 '0'。

CSP-J/S 2026第一轮J组试卷真题和答案解析(阅读程序部分)-第11张图片-四季读书网
CSP-J/S 2026第一轮J组试卷真题和答案解析(阅读程序部分)-第12张图片-四季读书网
CSP-J/S 2026第一轮J组试卷真题和答案解析(阅读程序部分)-第13张图片-四季读书网

程序(3)的代码功能是递归生成特殊质数,算法思路:从单个数字出发递归"末位拼接":只有当前数是质数才继续;达到 n 及以上就输出并回溯。注意 1 不是质数,以 1 开头的分支全部被剪掉。本质上是枚举所有"右截断质数"。

第28题【答案】×

【解析】n=10 时,一位质数 2,3,5,7 都小于 10 只扩展不输出;输出的是两位右截断质数 23, 29, 31, 37, 53, 59, 71, 73, 79,共 9 行而不是 10 行。

第29题【答案】√

【解析】n ≤ 5 时,主循环调用 search_result(5),5 是质数且 5 ≥ n,直接输出。

第30题【答案】√

【解析】大于 10 的质数末位只能是 1, 3, 7, 9。偶数结尾的分支本来就生成不出质数,改成只枚举奇数位后输出完全不变。

第31题【答案】B

【解析】n=24:先访问 2 → 23(质数且 <24,继续深入)→ 233、239;回溯后输出 29。前两行是 233、239,第 3 行是 29。

第32是【答案】D

【解析】能被打印的数,其"去掉末位的前缀"在递归前刚通过 check_prime 验证,必为质数,D 正确。A 错:DFS 序不是升序(233, 239, 29, 31…);B 错:n 增大时原先继续下钻的结点会转为输出,行数可增可减;C 错:个位可以是 1(如 31)。

第33题【答案】C

【解析】n=200:三位右截断质数 233, 239, 293, 311, 313, 317, 373, 379, 593, 599, 719, 733, 739, 797 共 14 个;想输出四位数需要三位前缀是小于 200 的质数,但最小的三位右截断质数是 233 > 200,不存在,故共 14 行。

抱歉,评论功能暂时关闭!