GESP认证C++编程真题解析 | 202512 二级

编程题

B4447 环保能量球

【题目来源】

洛谷:[B4447 GESP202512 二级] 环保能量球 - 洛谷

【题目描述】

小杨最近在玩一个环保主题的游戏。在游戏中,小杨每行走 1 公里就可以获得 1 点“环保能量”。

为了激励玩家,游戏设置了“里程奖励”:小杨每行走 \(x\) 公里,游戏就会额外奖励 1 点能量。

现在已知小杨总共行走了 \(n\) 公里,请你帮他计算,他一共能获得多少点环保能量?

【输入】

第一行包含一个正整数 \(t\),代表测试数据组数。

对于每组测试数据:

  • 第一行包含一个正整数 \(n\),代表行走的公里数。
  • 第二行包含一个正整数 \(x\),代表奖励触发的间隔。

【输出】

对于每组测试数据,输出一个整数,代表小杨获得的环保能量总数。

【输入样例】

3
5
2
10
3
2
5

【输出样例】

7
13
2

【算法标签】

《洛谷 B4447 环保能量球》 #循环结构# #GESP# #2025#

【代码详解】

#include <bits/stdc++.h>
using namespace std;

int t;  // 测试用例的数量
int n, x;  // 两个输入参数

int main()
{
    // 输入测试用例的数量
    cin >> t;
    
    // 处理每个测试用例
    while (t--)
    {
        // 输入两个参数n和x
        cin >> n >> x;
        
        // 计算并输出结果
        cout << n + n / x << endl;
    }
    
    return 0;
}

【运行结果】

3
5
2
7
10
3
13
2
5
2

B4448 黄金格

【题目来源】

洛谷:[B4448 GESP202512 二级] 黄金格 - 洛谷

【题目描述】

小杨最近在玩一个环保主题的游戏。在游戏中,小杨每行走 1 公里就可以获得 1 点“环保能量”。

为了激励玩家,游戏设置了“里程奖励”:小杨每行走 \(x\) 公里,游戏就会额外奖励 1 点能量。

现在已知小杨总共行走了 \(n\) 公里,请你帮他计算,他一共能获得多少点环保能量?

【输入】

第一行包含一个正整数 \(t\),代表测试数据组数。

对于每组测试数据:

  • 第一行包含一个正整数 \(n\),代表行走的公里数。
  • 第二行包含一个正整数 \(x\),代表奖励触发的间隔。

【输出】

对于每组测试数据,输出一个整数,代表小杨获得的环保能量总数。

【输入样例】

3
5
2
10
3
2
5

【输出样例】

7
13
2

【算法标签】

《洛谷 B4448 黄金格》 #循环结构# #GESP# #2025#

【代码详解】

#include <bits/stdc++.h>
using namespace std;

int h, w, x;  // 输入参数
int ans;      // 符合条件的单元格计数

int main()
{
    // 输入三个整数参数
    cin >> h >> w >> x;
    
    // 遍历所有单元格
    for (int i = 1; i <= h; i++)
    {
        for (int j = 1; j <= w; j++)
        {
            // 检查条件:i² + j² ≤ (x + i - j)²
            if (i * i + j * j <= (x + i - j) * (x + i - j))
            {
                ans++;  // 条件满足,计数器加1
            }
        }
    }
    
    // 输出符合条件的单元格数量
    cout << ans << endl;
    
    return 0;
}

【运行结果】

4
4
2
4
posted @ 2026-02-24 17:28  团爸讲算法  阅读(24)  评论(0)    收藏  举报