OneCoder Avatar
OneCodercoderli.com · 937 篇博文
一级

C++ 算法考级专栏

真题分析、矩阵探测、递归回溯与基础语法

🎨 视觉封面

【GESP】C++一级练习 bcqm-3154, 偶数求和

📅 2024-12-06·✍️ OneCoder·计算中...·⏱️ 3 分钟
#GESP#C++#基础语句

GESP一级综合基础练习,涉及循环和基本运算,适合初学者起步练习,难度★☆☆☆☆。

bcqm-3154

题目要求

题目描述

输入 nn 个整数,求出其中所有偶数的和。

输入格式

输入第一行一个一个整数 n(1n105)n(1≤n≤105) 表示数的个数。

接下来一行 nn 个 int 范围内的整数。

输出格式

一个整数,表示这些数的和

样例输入 #1

BASH
5
1 4 2 7 8

样例输出 #1

BASH
14

题目分析

这道题目的解题思路比较简单:

  1. 首先读入一个整数 nn,表示要输入的数字个数
  2. 然后循环读入 nn 个整数,对每个整数判断:
    • 如果是偶数(能被2整除),就将其加入到总和中
    • 如果是奇数则跳过
  3. 最后输出所有偶数的和

需要注意的点:

  • 由于输入数据范围较大(n105)(n≤10^5),且每个数都在int范围内,所以累加和需要用long long类型来存储,防止溢出
  • 判断偶数可以用取模运算 %,如果一个数除以2的余数为0,则这个数是偶数

示例代码

CPP
#include <iostream>
using namespace std;

int main() {
    // 输入数字的个数
    int a;
    cin >> a;

    // 用于存储每次输入的数字
    int d;
    // 用long long存储累加和,防止溢出
    long long ans = 0;

    // 循环读入a个数字
    for (int i = 0; i < a; i++) {
        cin >> d;
        // 如果是偶数则累加
        if (d % 2 == 0) {
            ans += d;
        }
    }

    // 输出结果
    cout << ans;
    return 0;
}

💡 OneCoder 资源指引

所有代码开源上传至 GitHub:yummy-code 仓库 · GESP 专题站:GESP WIKI

🤝 技术交流与答疑

欢迎加入:C++ GESP/CSP 考级答疑群(688906745)Java/Python交流群(982860385),点击可直接加群。

📚

猜你想读 · 相关文章推荐

OneCoder

OneCoder (lihongzheshuai)

一个中年人的自留地,记录学习 C++、GESP/NOI、Java、Python 与算法架构的心得体会。本站唯一网址:coderli.com

💬 读者留言与交流

0 条讨论
✨ 支持 Markdown 语法格式
还没有留言,快来成为第一个讨论者吧!