sincerit little w and Soda(规律题)

链接:https://ac.nowcoder.com/acm/contest/297/A
来源:牛客网

题目描述
不知道你听没听说过这样一个脑筋急转弯。

2元可以买一瓶汽水(玻璃瓶装的),因为瓶身是玻璃瓶的比较贵,所以两个瓶身可以换一瓶汽水。你现在有4元钱,问最多能喝到多少瓶汽水?

答案是4瓶。一开始先用4元钱买两瓶汽水喝掉,再用这两瓶的汽水的瓶身换一瓶喝到,最后还剩一个瓶身,这个时候再朝小卖部的老板借一个瓶身。换一瓶汽水喝掉之后再还给他一个瓶身。

现在问题来了,一开始你有n元钱,然后你最多可以向老板借一个瓶身(注意要还的),问你最多能喝到多少瓶汽水?

输入描述:
第一行是一个正整数T(T<=100)表示有T组案例。

对于每组案例,输入一个正整数(1<=n<=10^100)。

(请注意输入数据的范围,n有10的100次方那么大)
输出描述:
对于每组案例,输出一行一个正整数表示最多能够喝到的汽水数目
示例1
输入
复制
3
1
2
1000000000000000000000000000000
输出
复制
0
2
1000000000000000000000000000000

错认为是考大数的

#include <iostream>
using namespace std;
int main() {
  string str;
  int n;
  cin >> n;
  while (n--) {
    cin >> str;
    if ((str[str.size()-1]-'0')&1) str[str.size()-1] -= 1;
    cout << str << "\n";
  }
  return 0;
}

猜你喜欢

转载自blog.csdn.net/sincerit/article/details/85010483