题解 | #汽水瓶#

汽水瓶

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

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 a = in.nextInt();
            if (a == 0) {//如果输入的是0,那么就不需要打印
                return;
            } else {
                System.out.println(myAns(a,0));
            }
        }
    }
    /**
    * @Param count 手上的所剩空瓶数量
    * @Param result 想老板换取得饮料数,初始是0
    */
    private static int myAns(int count,int result) {
        int ne = count / 3;
        int sl = count % 3;
        result += ne; //换到的汽水数
        sl += ne; //所剩下的空瓶
        if ( sl <= 1) { //如果手上剩不到两瓶,那么就没办法借了,直接结束了
            return result;
        } else if (sl == 2){//如果手上剩两瓶,就向老板借一瓶,凑这样凑上三瓶就可以还上了
            return myAns(sl + 1,result);
        } else{//如果手上剩的多余两瓶,那么就可以继续向老板换了
            return myAns(sl,result);
        }
    }
}
全部评论

相关推荐

11-18 15:57
门头沟学院 Java
最终归宿是测开:这个重邮的大佬在重邮很有名的,他就喜欢打92的脸,越有人质疑他,他越觉得爽😂
点赞 评论 收藏
分享
10-30 23:23
已编辑
中山大学 Web前端
去B座二楼砸水泥地:这无论是个人素质还是专业素质都👇拉满了吧
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务