2025年12月GESP(C++二级): 环保能量球

题目描述
小杨最近在玩一个环保主题的游戏。在游戏中,小杨每行走 1 公里就可以获得 1 点"环保能量"。
为了激励玩家,游戏设置了"里程奖励":小杨每行走 x x x 公里,游戏就会额外奖励 1 点能量。
现在已知小杨总共行走了 n n n 公里,请你帮他计算,他一共能获得多少点环保能量?
输入格式
第一行包含一个正整数 t t t,代表测试数据组数。
对于每组测试数据:
- 第一行包含一个正整数 n n n,代表行走的公里数。
- 第二行包含一个正整数 x x x,代表奖励触发的间隔。
输出格式
对于每组测试数据,输出一个整数,代表小杨获得的环保能量总数。
输入输出样例 1
输入 1
3
5
2
10
3
2
5
输出 1
7
13
2
说明/提示
样例解释
- 对于第 1 组数据, n = 5 , x = 2 n = 5, x = 2 n=5,x=2:小杨行走获得 5 5 5 点能量。此外,他在第 2 2 2 公里和第 4 4 4 公里时各获得 1 1 1 点额外奖励,总共 5 + 2 = 7 5 + 2 = 7 5+2=7 点。
- 对于第 2 组数据, n = 10 , x = 3 n = 10, x = 3 n=10,x=3:行走获得 10 10 10 点。他在第 3 3 3、 6 6 6、 9 9 9 公里时各获得 1 1 1 点额外奖励,总共 10 + 3 = 13 10 + 3 = 13 10+3=13 点。
- 对于第 3 组数据, n = 2 , x = 5 n = 2, x = 5 n=2,x=5:行走获得 2 2 2 点。由于行走路程不足 5 5 5 公里,没有额外奖励,总共 2 2 2 点。
数据范围
对于全部数据,保证: 1 ≤ t ≤ 100 1 \leq t \leq 100 1≤t≤100, 1 ≤ n , x ≤ 1000 1 \leq n, x \leq 1000 1≤n,x≤1000。
题目分析
这是一个简单的数学计算问题。小杨每走1公里获得1点基础能量,同时每走x公里额外获得1点奖励能量。需要计算总能量。
核心公式
- 基础能量:n点
- 额外奖励能量:⌊n/x⌋点(取整数部分)
- 总能量 = n + ⌊n/x⌋
解题思路
对于每组测试数据:
- 读取总公里数n和奖励间隔x
- 计算总能量 = n + n/x(C++整数除法自动向下取整)
- 输出结果
代码实现
cpp
#include<bits/stdc++.h>
using namespace std;
int t; // 定义全局变量t,存储测试数据组数
int main(){
cin >> t; // 读取测试数据组数
// 循环处理每组测试数据
while(t--){
int n, x; // 定义变量:n-总公里数,x-奖励间隔
cin >> n >> x; // 读取n和x
// 输出总能量:基础能量n + 额外奖励次数(n/x)
// 注意:C++中整数除法自动向下取整
cout << n + n/x << endl;
}
return 0;
}
功能分析
1. 输入处理
- 第一行读取测试组数t
- 对于每组数据,读取两个整数n和x
2. 计算逻辑
- 基础能量:每公里1点,共n点
- 额外奖励:每x公里奖励1点,相当于获得⌊n/x⌋次奖励
- 整数除法的特性:C++中两个整数相除会自动向下取整,恰好符合题目要求
3. 输出处理
- 每组数据输出一个结果
- 格式简单,直接输出计算得到的整数
4. 示例验证
示例1
输入:n=5, x=2
计算:5 + 5/2 = 5 + 2 = 7
输出:7
示例2
输入:n=10, x=3
计算:10 + 10/3 = 10 + 3 = 13
输出:13
示例3
输入:n=2, x=5
计算:2 + 2/5 = 2 + 0 = 2
输出:2
各种学习资料,助力大家一站式学习和提升!!!
cpp
#include<bits/stdc++.h>
using namespace std;
int main(){
cout<<"########## 一站式掌握信奥赛知识! ##########";
cout<<"############# 冲刺信奥赛拿奖! #############";
cout<<"###### 课程购买后永久学习,不受限制! ######";
return 0;
}
- 一、CSP信奥赛C++通关学习视频课:
- C++语法基础
- C++语法进阶
- C++算法
- C++数据结构
- CSP信奥赛数学
- CSP信奥赛STL
- 二、CSP信奥赛C++竞赛拿奖视频课:
- 信奥赛csp-j初赛高频考点解析
- CSP信奥赛C++复赛集训课(12大高频考点专题集训)
- 三、考级、竞赛刷题题单及题解:
- GESP C++考级真题题解
- CSP信奥赛C++初赛及复赛高频考点真题解析
- CSP信奥赛C++一等奖通关刷题题单及题解
详细内容:
1、csp/信奥赛C++,完整信奥赛系列课程(永久学习):
https://edu.csdn.net/lecturer/7901 点击跳转



2、CSP信奥赛C++竞赛拿奖视频课:
https://edu.csdn.net/course/detail/40437 点击跳转

3、csp信奥赛冲刺一等奖有效刷题题解:
CSP信奥赛C++初赛及复赛高频考点真题解析(持续更新):https://blog.csdn.net/weixin_66461496/category_12808781.html 点击跳转
- 2025 csp-j 复赛真题及答案解析(最新更新)
- 2025 csp-x(山东) 复赛真题及答案解析(最新更新)
- 2025 csp-x(河南) 复赛真题及答案解析(最新更新)
- 2025 csp-x(辽宁) 复赛真题及答案解析(最新更新)
- 2025 csp-x(江西) 复赛真题及答案解析(最新更新)
- 2025 csp-x(广西) 复赛真题及答案解析(最新更新)
- 2020 ~ 2024 csp 复赛真题题单及题解
- 2019 ~ 2022 csp-j 初赛高频考点真题分类解析
- 2021 ~ 2024 csp-s 初赛高频考点解析
- 2023 ~ 2024 csp-x (山东)初赛真题及答案解析
- 2024 csp-j 初赛真题及答案解析
- 2025 csp-j 初赛真题及答案解析(最新更新)
- 2025 csp-s 初赛真题及答案解析(最新更新)
- 2025 csp-x (山东)初赛真题及答案解析(最新更新)
- 2025 csp-x (江西)初赛真题及答案解析(最新更新)
- 2025 csp-x (辽宁)初赛真题及答案解析(最新更新)
CSP信奥赛C++一等奖通关刷题题单及题解(持续更新):https://blog.csdn.net/weixin_66461496/category_12673810.html 点击跳转
- 129 道刷题练习和详细题解,涉及:模拟算法、数学思维、二分算法、 前缀和、差分、深搜、广搜、DP专题、 树和图
4、GESP C++考级真题题解:

GESP(C++ 一级+二级+三级)真题题解(持续更新):https://blog.csdn.net/weixin_66461496/category_12858102.html 点击跳转

GESP(C++ 四级+五级+六级)真题题解(持续更新):https://blog.csdn.net/weixin_66461496/category_12869848.html 点击跳转
· 文末祝福 ·
cpp
#include<bits/stdc++.h>
using namespace std;
int main(){
cout<<"跟着王老师一起学习信奥赛C++";
cout<<" 成就更好的自己! ";
cout<<" csp信奥赛一等奖属于你! ";
return 0;
}