[C++] 汽水瓶
最简单的方法竟然是2个空瓶可以喝一瓶,所以空瓶数量除以2就是喝汽水瓶数最多的方案。 无语了。
我的思路是迭代,三空瓶喝一瓶,然后会多一空瓶,一直到瓶数小于3,特殊情况即2瓶时,可以再喝一瓶,且不再有空瓶。
#include<iostream>
using namespace std;
int main()
{
int n;
while (cin >> n && n != 0){
int drunk_no = 0;
while (n / 3){
drunk_no += (n/3);
n = n - (n/3)*2;
}
if ( n == 2){
drunk_no += 1;
}
cout << drunk_no << endl;
}
return 0;
} 
京公网安备 11010502036488号