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

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⌋
解题思路

对于每组测试数据:

  1. 读取总公里数n和奖励间隔x
  2. 计算总能量 = n + n/x(C++整数除法自动向下取整)
  3. 输出结果

代码实现

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;
}
相关推荐
2401_892070981 天前
【Linux C++ 日志系统实战】LogFile 日志文件管理核心:滚动策略、线程安全与方法全解析
linux·c++·日志系统·日志滚动
yuzhuanhei1 天前
Visual Studio 配置C++opencv
c++·学习·visual studio
小O的算法实验室1 天前
2026年ASOC,基于深度强化学习的无人机三维复杂环境分层自适应导航规划方法,深度解析+性能实测
算法·无人机·论文复现·智能算法·智能算法改进
不爱吃炸鸡柳1 天前
C++ STL list 超详细解析:从接口使用到模拟实现
开发语言·c++·list
十五年专注C++开发1 天前
RTTR: 一款MIT 协议开源的 C++ 运行时反射库
开发语言·c++·反射
‎ദ്ദിᵔ.˛.ᵔ₎1 天前
STL 栈 队列
开发语言·c++
2401_892070981 天前
【Linux C++ 日志系统实战】高性能文件写入 AppendFile 核心方法解析
linux·c++·日志系统·文件写对象
郭涤生1 天前
STL vector 扩容机制与自定义内存分配器设计分析
c++·算法
༾冬瓜大侠༿1 天前
vector
c语言·开发语言·数据结构·c++·算法
cccyi71 天前
【C++ 脚手架】etcd 的介绍与使用
c++·服务发现·etcd·服务注册