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 循环怎么"数路程"

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

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


相关推荐
初夏睡觉4 小时前
原创题目 - 空壳恋爱
c++·算法·dp·oi·信息学·原创题目·值得挑战的题目
间歇性努力持续性发呆的野生快乐选手4 小时前
stl容器使用和算法简介
数据结构·c++
沙盘客5 小时前
AFSIM 官方案例库全景与解读方法论
c++·经验分享·后端
_wxd6667 小时前
STL-stack与queue与priority_queue(容器适配器)
c++
zh路西法7 小时前
【玩转VLA具身智能机械臂】(二):MoveIt2 运动规划——架构、配置与 C++ 上手
c++·机械臂·路径规划·vla·planner·moveit2
Yfhonier7 小时前
【素数定理】素数个数的位数
c++·算法·素数
爱和冰阔落8 小时前
【Linux】Ctrl+C 到底做了什么?从键盘、kill 到 alarm,一次讲清信号的产生
linux·运维·c++·安卓
水饺编程8 小时前
第5章,[Win32 章节] :贝塞尔样条曲线(一)
c语言·c++·windows·visual studio
程序员打怪兽9 小时前
C++:类与对象,封装,继承,多态,构造/析构,重载/重写
c++
AC赳赳老秦9 小时前
多源数据关联挖掘:OpenClaw 打通工商、招投标、专利公开数据,挖掘企业业务关联关系
java·c语言·javascript·c++·python·deepseek·openclaw