目录
牛客HJ22 汽水瓶
解析代码
每次空瓶的数量除以2,直到最后空瓶的数量少于两瓶,就累加到了课兑换的数量。
#include <iostream>
using namespace std;
int main()
{
int empty = 0;
while (cin >> empty)
{
if (empty == 0)
break;
int sum = 0;
while (empty > 1)
{
int res = empty / 3; //所能兑换的个数
int left = empty % 3; //遗下的个数
sum += res;
empty = left + res;
if (empty == 2)
{
sum++;
break;
}
}
cout << sum << endl;
}
return 0;
}
取巧代码:
#include <iostream>
using namespace std;
int main()
{
int empty = 0;
while (cin >> empty)
{
if (empty > 2) // 取巧
cout << empty / 2 << endl;
}
return 0;
}