题解 | #汽水瓶#

汽水瓶

https://www.nowcoder.com/practice/fe298c55694f4ed39e256170ff2c205f

方法一:模拟

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

全部评论

相关推荐

不愿透露姓名的神秘牛友
07-07 14:00
不想多说了,什么逆天HR,还要教我礼貌😂
机械打工仔:这不纯傻卵吗,他还操心上别人老板了
投递BOSS直聘等公司7个岗位
点赞 评论 收藏
分享
07-05 16:23
门头沟学院 Java
mengnankk:我投了300,约了5 6个面试。感觉项目写的太多了。一个项目就写五六个亮点,不是把整个项目的功能描述下。其他的没啥,简历看起来有点长
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-09 11:30
找工作7个月,投了7000封,3段世界五百强实习,才有一个offer,牛油们肯定比我强吧
码农索隆:不对不对不对,实习经历这么厉害,简历也没少投,问题出在哪呢
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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