[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; }