题解 | #汽水瓶#

汽水瓶

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);
        }
    }
}
全部评论

相关推荐

10-25 00:32
香梨想要offer:感觉考研以后好好学 后面能乱杀,目前这简历有点难
点赞 评论 收藏
分享
铁锈不腻玩家:下面那个袁先生删了,问他怎么回事,头像都换不明白
点赞 评论 收藏
分享
昨天 17:22
已编辑
西安交通大学 Java
华为 昇腾 ai软件开发 薪资20k x (14-16),职级13A,5%公积金,c/cpp
BLOOMING7:闭眼滴滴,华子给的又少又累
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务