华为研发工程师编程题
某商店规定:三个空汽水瓶可以换一瓶汽水,允许向老板借空汽水瓶(但是必须要归还)。
小张手上有 𝑛n 个空汽水瓶,她想知道自己最多可以喝到多少瓶汽水。
输入描述 在一行上输入一个整数代表小张手上的空汽水瓶数量。特别地,输入0 代表输入结束,您只需要立即退出,不需要针对这种情况进行处理。
输出描述:对于每一组测试数据,新起一行。输出一个整数,代表小张最多可以喝到的汽水数量。
输入例子:
3 10 81 0
输出例子:
1 5 40
#include <bits/stdc++.h>
using namespace std;
#define int long long
const int M = 1e6 + 10;
vector<int> v;
void solve() {
int x;
while (cin >> x) {
if (x == 0)break;
int res = 0, empty = 0;
while (1) {
int num = x / 3;
res += num;
x = empty;
if (x == 2) {
res++;
break;
}
if (x == 1)break;
}
cout << res << endl;
}
}
signed main() {
solve();
return 0;
}