题解 | #汽水瓶# 递归解法 简单易懂
汽水瓶
https://www.nowcoder.com/practice/fe298c55694f4ed39e256170ff2c205f
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); while(true) { int n = in.nextInt(); if (n == 0) break; if (n == 1) { System.out.println(0); continue; } int res = 0; // n == 2 特殊情况 while (n / 3 > 0 || n == 2) { // 兑换的瓶数 res += n / 3; // 原来剩下的瓶子数 + 新换的喝完了之后的瓶子数 n = n / 3 + n % 3; // 如果还有两个那就正好借一个 if (n == 2) n++; } System.out.println(res); } } }