根据题目描述,我们可以得知,每一轮饮料可以换1/3原来的饮料,而剩下的低于3个瓶盖会计入新的饮料瓶盖数目中,如此循环往复,直到瓶盖数目少于3就停止,根据这个过程,我们可以直接模拟出来答案
上代码
#include<iostream>
#include<cstring>
#include<algorithm>
using namespace std;
int main(void)
{
int n; cin >> n;//输入初始饮料数
int ans = n;
while(n >= 3){//当饮料瓶盖数大于3,说明还能换
int res = n / 3;//res记录当前能换的数目
n -= 3 * res;//此时还剩下的瓶盖数
n += res;//剩下的瓶盖数再加上新换的饮料
ans += res;//答案就是每一轮换的饮料瓶子数目
}
cout << ans << endl;
return 0;
}