牛客编程赛题目​(欢迎大家讨论指正~给出更好的方法~~)

欢迎大家讨论指正~给出更好的方法~~
牛牛是一个酒鬼,非常爱喝酒,一瓶酒m元钱,两个酒瓶可以换一瓶酒,四个瓶盖可以换一瓶酒,现在有 n 元钱,求最多可以喝多少瓶酒?
(注:没有借贷功能,即最终不允许借一瓶酒、喝完后拿酒瓶兑换归还的操作)
import java.util.*; public class Solution {     /**      * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可      * 返回牛牛能喝的最多的酒      * @param m int整型 酒单价      * @param n int整型 牛牛的现金      * @return int整型      */     public int countWine (int m, int n) {         int buy = n/m;   //表示买的酒的数量         int beer = buy;  //瓶子的数量         int gai = buy;   //瓶盖的数量         while(true){             if(beer >=2){   //用酒瓶子换,并更新瓶和盖的数量                 buy = buy + beer/2;                 gai = gai + beer/2;                 beer = beer/2 + beer%2;                              }             if(gai >=4){ //用酒盖换,并更新瓶和盖的数量                 buy = buy + gai/4;                 beer = beer + gai/4;                 gai = gai/4 + gai%4;                              }             if(gai <4 && beer <2){  //不满足条件停止循环                 break;             }         }         return buy;     } }


#题解#
全部评论
欢迎交流~
1 回复 分享
发布于 2020-12-08 20:44
言简意赅
点赞 回复 分享
发布于 2020-12-11 14:24

相关推荐

重生2012之我是java程序员:换个稍微正式点的照片吧
点赞 评论 收藏
分享
5 4 评论
分享
牛客网
牛客企业服务