参考代码and代码解读
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n;
scanf("%d", &n);
int dr;//dr=drink;
dr = n;//把drink赋值于n;
while (n > 2) {//剩余的总瓶盖数要大于二,才能换得下一瓶饮料;
dr += n / 3;//drink等于总的饮料数;
n = n / 3 + n % 3;//最后的瓶盖数应该等于剩余的不大于三的瓶盖数,外加上兑换回来的瓶盖数。
}
cout << dr << endl;
}