CSP-J/S 2026第一轮J组试卷真题,以及答案解析。同学们可以对照学习。
第一部分,选择题,第1题到15题,每题2分,共计30分。



答案解析:
第 1 题 【答案】B
【解析】long long 是 64 位有符号整数,上限约 9.2×1018,能精确存下 1018+1。int 只有 32 位(约 2.1×109);float 和 double 是浮点型,范围虽大但有效位数有限——double 只有 53 位二进制有效精度,在 1018(约 260)量级上相邻两数间隔已达 28=128,根本放不下这个奇数。这里需要注意:浮点数"范围够"不等于"每个整数都能精确表示"。
第 2 题【答案】D
【解析】十六进制转八进制,以二进制为桥:2F5(16) = 0010 1111 0101(2),从右往左每 3 位一组得 001 011 110 101,即 1365(8)。验算:2×256+15×16+5 = 757 = 1×512+3×64+6×8+5。
第 3 题 【答案】C
【解析】a、b 均为 int,7/3 = 2(向零取整),7%3 = 1,故 a/b*b + a%b = 2×3+1 = 7。本质上就是整数除法恒等式 (a/b)×b + a%b = a。
第 4 题 【答案】C
【解析】要先弹出 3,必须已把 1、2、3 依次入栈;3 弹出后栈内自底向上是 1、2,栈顶是 2,下一个只能弹 2,不可能直接弹 1,故 3,1,2,4 不可能。其余选项均可模拟实现。
第 5 题 【答案】B
【解析】完全二叉树按层编号 1..100:编号 i 有左孩子当且仅当 2i ≤ 100,即 i ≤ 50。所以 1..50 是非叶子结点,51..100 共 50 个是叶子。一般地,n 个结点的完全二叉树有 ⌊n/2⌋ 个叶子。
第 6 题 【答案】D
【解析】循环与容斥问题。求 1..100 中 3 或 5 的倍数之和:S₃ = 3×(1+…+33) = 1683,S₅ = 5×(1+…+20) = 1050,15 的倍数被算了两遍要减去:S₁₅ = 15×(1+…+6) = 315。合计 1683+1050−315 = 2418。
第 7 题 【答案】D
【解析】递推问题。最后一步从第 i−1 / i−2 / i−3 级跨来,f(i) = f(i−1)+f(i−2)+f(i−3),f(0)=1。依次为 1, 1, 2, 4, 7, 13, 24, 44, 81,故 f(8) = 81。
第 8 题 【答案】C
【解析】BFS 入队计数问题。入队即标记访问,每次按"上、下、左、右"扩展。手动模拟:S 出队时 (1,0)、(0,1) 入队……处理 (3,2) 时,"下"的 (4,2) 比"右"的 (3,3) 先入队;(4,2) 出队时又把 (4,1) 带入队。处理 (3,3) 时 E=(3,4) 第一次入队,此时累计入队 14 个格子(含 S 和 E)。注意题目问的是"累计入队数",不是最短路长度,也不是队列里剩下的格子数。
第 9 题 【答案】B
【解析】gcd(n,60) = 6,则 n = 6k 且 gcd(k,10) = 1。由 n ≤ 100 得 k ≤ 16,其中与 10 互质的是 1, 3, 7, 9, 11, 13,共 6 个。
第 10 题 【答案】A
【解析】9 = 4+4+1,3 枚即可。两枚不可能:两枚的面值和只能是 2, 5, 7, 8, 10, 12,没有 9。注意贪心(先取 6)得 6+1+1+1 共 4 枚,并非最优——任意币值体系不能盲目贪心。
第 11 题 【答案】A
【解析】p = a+2 指向 a[2]=5。第一条赋值:*(p−1) 即 a[1] = p[0]+p[2] = 5+9 = 14;第二条:p[1] 即 a[3] = *(a+1)−a[0] = a[1]−a[0] = 14−1 = 13(读的是刚改过的 a[1])。输出 a[1] 和 a[3],即 14,13
第 12 题 【答案】D
【解析】二分查找问题。最坏情况下区间长度依次为 1000→499→249→124→61→30→14→6→2→1→0,共比较 10 次,即 ⌈log₂(1000+1)⌉ = 10
第 13 题【答案】C
【解析】前缀和还原问题 a[i] = s[i]−s[i−1] = (3i²+i) − (3(i−1)²+(i−1)) = 6i−2,故 a[10] = 58
第 14 题【答案】A
【解析】数轴上到各点距离之和在"中位数"处最小。7 个点的中位数是第 4 个点 7:6+4+3+0+3+8+13 = 37。配对理解:到 1 和 20 的距离和至少 19,到 3 和 15 至少 12,到 4 和 10 至少 6,19+12+6+0 = 37
第 15 题【答案】B
【解析】图的度数和问题。握手定理:度数之和 = 4×3 + 6×4 = 36,每条边贡献 2 度,边数 = 36/2 = 18