测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

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; }
上一题 下一题