GESP 一级 · GESP 202303 C++ 一级 第 15 题

选择题 · 答案 C · 考点:循环结构

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

题目

执行以下 C++ 语言程序后,输出结果是( )。

#include <iostream>
using namespace std;
int main() {
    int sum = 0;
    for (int i = 1; i <= 20; i++)
        if (i % 3 == 0 || i % 5 == 0)
            sum += i;
    cout << sum << endl;
    return 0;
}
答案:C

考点

循环结构

解题思维

这题核心就是模拟循环,别想复杂。从1到20一个个数,只要能被3整除或者能被5整除,就加到sum里。写张草稿纸,把满足条件的数圈出来,最后把圈里的数加起来就行。

常见错误

最容易犯的错有两个:一是把'或'当成'且',以为要同时被3和5整除才加,那样只会加15和20,结果肯定不对;二是漏加中间那些数,比如6、10、12、18,只盯着3、5、15、20这几个明显的数,或者干脆把1~20所有数全加一遍,这样结果会大很多。另外,循环边界i<=20,20本身满足条件必须加进去,很多人会误以为20不满足就跳过了。

详细解析(节选)

【考点】循环结构|条件判断

这道题考的是GESP一级算法模块里最基础的循环控制与条件判断。命题人故意用'能被3或5整除'这个数学条件卡住只会写死循环或不会用if的学生,让你必须真正读懂代码逻辑,而不是靠背模板。

解题思维:拿到题先想,1~20里哪些数能被3整除?3, 6, 9, 12, 15, 18, 20(哦不对,20不能被3整除,是18)。哪些数能被5整除?5, 10, 15, 20。然后合并这两个集合,去重,得到:3, 5, 6, 9, 10, 12, 15, 18, 20。用if (i%3==0||i%5==0)筛选,累加到sum。这是'遍历+条件过滤+累加'的经典三步走。

逐行推演: main函数开头sum=0。for循环i从1开始,每次加1,直到i<=20。i=1时,1%3!=0且1%5!=0,不执行if,sum不变;i=2同理;i=3时,3%3==0成立,sum+=3,sum变成3;i=4不满足;i=5时,5%5==0成立,sum+=5,sum变成8;i=6时,6%3==0成立,sum+=6,sum变成14;i=7、8不满足;i=9时,9%3==0成立,sum+=9,sum变成23;i=10时,10%5==0成立,sum+=10,sum变成33;i=11不满足;i=12时,12%3==0成立,sum+=12,sum变成45;i=13、14不满足;i=15时,15%3==0且15%5==0都成立,sum+=15,sum变成60;i=16、17不满足;i=18时,18%3==0成立,sum+=18,sum变成78;i=19不满足;i=20时,20%5==0成立,sum+=20,sum变成98。循环结束,cout输出98。

陷阱拆解:选项A(210)是1~20所有数的和,完全没看条件;选项B(113)是把3,5,9,15,18,20凑出来的,漏了6,10,12;选项D(15)是只加了个15,连遍历都没。命题人用'或'字偷换概念——满足任一条件就加,不是满足两个条件。很多同学看到'3或5',下意识觉得是'3和5',或者只记住3、5、15、20这几个数,把6、9、10、12、18这些中间数漏掉,结果算出来就不是98了。

反命题思维:命题人视角,把20改成100,答案会翻三倍;把'或'改成'且',只加15,30,45,60,75,90;把<=改成<,20就不计入。刷到循环题先问自己:边界值到底包不包含?条件里有没有'或'字?

考频与趋势:循环结构在题库里共考过609题,覆盖12个考试级别(2008-2026)。逐年分布:2008年7题、2009年3题、2010年3题、2011年6题、2012年5题、2013年7题、2014年8题、2015年4题、2016年12题、2017年11题、2018年13题、2019年4题、2022年1题、2023年77题、2024年128题、2025年158题、2026年161题、null年1题。分赛事:GESP二级172题、GESP一级139题、GESP三级89题、GESP四级87题、NOIP普及组初赛56题、NOIP提高组初赛23题、GESP五级16题、GESP六级9题、CSP入门级8题、CSP提高级5题、GESP七级3题、GESP八级2题。从数据看,2023年77题、2024年128题、2025年158题、2026年161题,循环结构在近几年的考频持续走高,且GESP一级占比不小(139题),说明基础循环仍是高频考点。

预测:基于给定数据与经验,未来GESP一级、二级仍会高频出现简单循环累加题,但可能会结合数组或函数参数传递增加一点复杂度;暂无足够依据预测具体题型变化。

同考点真题

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