题解 | #汽水瓶# 递归解法 简单易懂

汽水瓶

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);
        }
    }
}

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务