题解 | 汽水瓶

#刷题我是认真的# #2025,我想......#

解题思路:

  1. 纯模拟整个过程
  2. 对3求余,等于2时,则直接可以结束
  3. 对3求余,等于1时,无法继续求解,则直接结束
  4. 整个步骤不难,就是有个绕,有递归的意思
import java.util.Scanner;


public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int lastExNum = 0;
        while (in.hasNext()) {
            int input = in.nextInt();
            if (input == 0) {
                return;
            }
            int rs = 0;
            for (;;) {
                // 兑换数量
                int exNum = input / 3;
                rs += exNum;
                // 兑换后剩余的数量
                int leaveNum = input % 3;
                if (exNum + leaveNum == 2) {
                    rs += 1;
                    break;
                }
                if (exNum + leaveNum == 1) {
                    break;
                }
                input = leaveNum + exNum;
            }
            System.out.println(rs);
        }
    }
}

全部评论

相关推荐

评论
点赞
收藏
分享
牛客网
牛客企业服务