A21910. 环保能量球
填空题
较易
知识点
题目描述
环保能量球
题目描述
小杨最近在玩一个环保主题的游戏。在游戏中,小杨每行走1公里就可以获得1点"环保能量"。
为了激励玩家,游戏设置了"里程奖励":小杨每行走。公里,游戏就会额外奖励1点能量。
现在已知小杨总共行走了n公里,请你帮他计算,他一共能获得多少点环保能量?
输入格式
第一行包含一个正整数t,代表测试数据组数。对于每组测试数据:
- 第一行包含一个正整数n,代表行走的公里数。
- 第二行包含一个正整数x,代表奖励触发的间隔。
输出格式
对于每组测试数据,输出一个整数,代表小杨获得的环保能量总数。
样例
输入样例
3
5
2
10
3
2
5输出样例
7
13
2样例解释
- 对于第1组数据,n=5,x=2:小杨行走获得5点能量。此外,他在第2公里和第4公里时各获得1点额外奖励,总共5+2=7点。
- 对于第2组数据,n=10,x=3:行走获得10点。他在第3、6、9公里时各获得1点额外奖励,总共10+3=13点。
- 对于第3组数据,n=2,x=5:行走获得2点。由于行走路程不足5公里,没有额外奖励,总共2点。
数据范围
对于全部数据,保证:1≤t≤100,1≤n,x≤1000。
参考答案
#include <iostream>
using namespace std;
int main() {
int t, n, x;
if (!(cin >> t)) return 0;
while (t--) {
cin >> n >> x;
int ans = 0;
for (int i = 1; i <= n; i++) {
ans += i; // 基础能量
if (i % x == 0)
ans += 1; // 额外奖励
}
}
cout << ans << endl;
}
return 0;
}
上一题
下一题