GESP 一级 · GESP 202406 C++ 一级 第 3 题

选择题 · 答案 B

← 整套速查表 GESP 一级 全部真题

题目

在 C++ 中,假设 $N$ 为正整数,则表达式 cout << (N % 3 + N % 7) 可能输出的最大值是( )。

答案:B

解题思维

答案B。cout用于输出到标准输出(通常是屏幕)。cin从标准输入读取。

常见错误

cout和cin在iostream头文件中定义,使用时需#include <iostream>。

详细解析(节选)

【考点】取模运算|余数最大值|逻辑推理

1. 🎯 考纲定位 本题考查 GESP 一级"基础语法与表达式"模块中的取模运算(%)。命题人专门放这道题,就是卡住大量考生对"取模的本质是求余数"这一核心概念的理解,以及能否正确判断余数的取值范围。

2. 🧠 解题思维 看到题先拆解表达式:N%3 + N%7。N%3 的最大余数是 2(因为 3-1=2),N%7 的最大余数是 6(因为 7-1=6)。两者取最大值相加:2+6=8。要证明能取到,只需找一个数同时满足 N%3=2 且 N%7=6,比如 N=20(20%3=2,20%7=6),验证成立。

3. 🪤 陷阱拆解 选项 A(6)是误以为 N%3 + N%7 = N%10,这是偷换概念——取模不满足分配律;选项 C(9)是混淆了"最大余数"与"最大被除数",以为任何数模 10 余数最大是 9,但这里分母是 3 和 7;选项 D(10)更离谱,两个余数相加不可能超过各自的最大值。最阴险的是 A 选项,它利用考生对取模运算的直觉性错误,诱导你把两个余数"合并成一个大取模"来算。

4. 🔄 反命题思维 若把题改作 N%3 + N%5,答案就是 1+4=5;若改作 N%4 + N%6,答案是 3+5=8。刷到这类题先问自己:命题人是不是在考"余数取值范围"这个本质,而不是考"大数字怎么算"。

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