GESP 二级 · GESP 202406 C++ 二级 第 8 题

选择题 · 答案 B

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

题目

某货币由 5 元、2 元和 1 元组成。输入金额(假设为正整数),计算出最少数量。为实现其功能,横线处应填入代码是( )。

int N;
cin >> N;

int M5, M2, M1;
M5 = N / 5;
M2 = _______________;
M1 = _______________;
printf("5*%d+2*%d+1*%d", M5, M2, M1);
答案:B

解题思维

答案B。循环补全要分析循环变量的初始值、条件和更新方式,确保能产生目标输出。

常见错误

代入法验证时注意选项之间的细微差别。循环条件中的<和<=可能导致完全不同的结果。

详细解析(节选)

【考点】贪心策略|运算符优先级|整数除法取整

1. 🎯 考纲定位

GESP 二级 C++ 第 3 章“基础算法”中的“贪心策略”。命题人专门卡住“先除再减”的操作顺序——很多孩子会直接写 N / 2 或 N - M5,完全没意识到要先把 5 元占用的金额减掉,这是“贪心”最基础的实现细节,也是绝大多数人丢分的地方。

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