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
浙公网安备 33010602011771号