#include <iostream>
using namespace std;

int main() {
    int num;
    int hand;
    int result;
    while(cin >> num){
        if(num == 0){
            return 0;
        }
        hand = 0;
        result = 0;

        while(num >= 3){
            
            hand = num % 3;
            num = num / 3;
            result = result + num;
            num = num + hand;
        }

        if(num == 2){
            result++;
        }

        cout << result << endl;
    }
}

!!认真看题!!

剩下2个瓶子的时候是可以靠借老板一个瓶子多喝一瓶的。

使用一个参数hand记录兑换后手上剩下的瓶子(不包括兑换后喝完的)

之后再加上兑换后喝完的瓶子继续循环计算直到瓶子数小于3