GESP2025年12月认证C++二级真题与解析(编程题1 (环保能量球))

一、先看原题:


二、题目解析

1、📖 故事背景

小杨在玩一个游戏 👦🎮

规则是这样的:

1️⃣ 每走 1 公里 → 得 1 点能量

2️⃣ 每走 X 公里 → 额外奖励 1 点能量

就像这样👇

  • 第 1 公里:+1

  • 第 2 公里:+1

  • 如果 X = 2

    • 第 2 公里再 +1 🎉

    • 第 4 公里再 +1 🎉

👉 老师问我们:
小杨一共走了 N 公里,他最后能拿多少能量?

2、🧠 先不用代码,用小脑袋想

假设:

  • 走了 5 公里

  • 2 公里奖励一次

我们一公里一公里数 👣

公里数 基础能量 奖励 总能量
1 +1 × 1
2 +1 +1 3
3 +1 × 4
4 +1 +1 6
5 +1 × 7

👉 答案:7

📌 你发现了吗?

  • 每一公里都要加 1

  • 如果公里数能被 X 整除,再多加 1


3、🧩 把问题拆成程序步骤

🧱 程序要做的事

1️⃣ 读入测试次数 T

2️⃣ 对每一组:

  • 输入 N(公里)

  • 输入 X(奖励间隔)

3️⃣ 从 1 跑到 N:

  • 每次 +1

  • 如果 i % X == 0 → 再 +1


4、💻 参考程序

cpp 复制代码
#include <iostream>
using namespace std;

int main() {
    int t;
    cin >> t;               // 有几组测试

    while (t--) {
        int n, x;
        cin >> n >> x;      // n 公里,x 公里一奖励

        int ans = 0;        // 能量总数

        for (int i = 1; i <= n; i++) {
            ans += 1;       // 每走 1 公里,基础能量 +1

            if (i % x == 0) // 如果是奖励公里
                ans += 1;   // 再奖励 1 点
        }

        cout << ans << endl;
    }

    return 0;
}

5、🔍 逐行讲解

cpp 复制代码
int t;
cin >> t;

👉 一共要算 几次游戏


cpp 复制代码
while (t--)

👉 每一组游戏都要算一次


cpp 复制代码
int n, x;
cin >> n >> x;

👉

  • n:走了多少公里

  • x:每几公里奖励


cpp 复制代码
int ans = 0;

👉 准备一个"小箱子",装能量 ⚡


cpp 复制代码
for (int i = 1; i <= n; i++)

👉 从第 1 公里,一直走到第 n 公里


python 复制代码
ans += 1;

👉 不管怎样,走路就有能量


cpp 复制代码
if (i % x == 0)
    ans += 1;

👉 如果是奖励点(能整除),多给一颗 🌟


6、🎉 本题要点:

  • for 循环怎么"数路程"

  • % 取余判断"是不是奖励点"

  • 把生活问题变成程序逻辑


相关推荐
智者知已应修善业1 小时前
【51单片机2个按键控制流水灯运行与暂停】2023-9-6
c++·经验分享·笔记·算法·51单片机
云泽8082 小时前
C++11 核心特性全解:列表初始化、右值引用与移动语义实战
开发语言·c++
AI进化营-智能译站3 小时前
ROS2 C++开发系列12-用多态与虚函数构建可扩展的ROS2机器人行为模块
开发语言·c++·ai·机器人
Morwit3 小时前
QML组件之间的通信方案(暴露子组件)
c++·qt·职场和发展
qeen874 小时前
【数据结构】建堆的时间复杂度讨论与TOP-K问题
c语言·数据结构·c++·学习·
图码4 小时前
如何用多种方法判断字符串是否为回文?
开发语言·数据结构·c++·算法·阿里云·线性回归·数字雕刻
handler014 小时前
Linux 内核剖析:进程优先级、上下文切换与 O(1) 调度算法
linux·运维·c语言·开发语言·c++·笔记·算法
zhouwy1134 小时前
Linux进程与线程编程详解
linux·c++
A7bert7775 小时前
【YOLOv8pose部署至RDK X5】模型训练→转换bin→Sunrise 5部署
c++·python·深度学习·yolo·目标检测
li1670902705 小时前
第二十七章:智能指针
c语言·数据结构·c++·visual studio