方法一:模拟

import java.io.*;
import java.util.*;

public class Main {
    public static void  main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        PrintWriter pw = new PrintWriter(System.out);

        String str = null;
        while ((str = br.readLine()) != null) {
            int n = Integer.parseInt(str);
            if (n == 0) {
                break;
            }
            pw.println(sodaBottle(n));
        }

        pw.flush();
        pw.close();
        br.close();
    }

    private static int sodaBottle(int n) {
        int ans = 0;
        while (n > 1) {
            ans += n / 3;
            n = n / 3 + n % 3;
            if (n == 2) {
                n = 3;
            }
        }
        return ans;
    }
}

方法二:数学

某商店规定:三个空汽水瓶可以换一瓶汽水,允许向老板借空汽水瓶(但是必须要归还)。

如果有两个瓶子,则可以借一个瓶子,这样就有 3 个瓶子,可以换一瓶汽水,喝完后还一个瓶子。

等价于 两个瓶子换一瓶汽水。

即答案为 n / 2