刷题记录-附带详细讲解

1.某商店规定:三个空汽水瓶可以换一瓶汽水,允许向老板借空汽水瓶(但是必须要归还)。
小张手上有n个空汽水瓶,她想知道自己最多可以喝到多少瓶汽水。
数据范围:输入的正整数满足
注意:本题存在多组输入。输入的 0 表示输入结束,并不用输出结果。
当有两个空瓶时,可以找老板借一个空瓶

import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        // 注意 hasNext 和 hasNextLine 的区别
        while (in.hasNextInt()) { // 注意 while 处理多个 case
            int empty = in.nextInt();
            //喝的数量
            int drinkNum = 0;
            while (empty >= 2) {
            	//喝完一轮,剩余的空瓶数量
                int temp = empty / 3;
                drinkNum += temp; 
                if (empty % 3 == 2) {
                    drinkNum++;
                }else if(empty % 3 == 1){
                    temp++;
                }
                empty = temp;
            }
            if(drinkNum != 0)
            System.out.println(drinkNum);
        }
    }
}

你可能感兴趣的:(Java面试八股文,java,开发语言)