10元买多少啤酒的问题,商家会不会亏死

问题:1瓶啤酒2元,4个瓶盖可以换1瓶啤酒,2个啤酒瓶可以换1瓶啤酒,问10元可以喝多少啤酒(不接受赊账)
原因:作为一个JAVA的初学者,总想敲个代码练一练手,今天就盯上了买啤酒的问题。
方案:4盖=1酒 2瓶=1酒,即可得4瓶+4盖=3酒;
若钱数并不是100元,而是RMB,则其最初能买到的啤酒数为num=rmbBeer=RMB/2;
则在更换环节,4瓶+4盖=3酒,则用rmbBeer/4
若rmbBeer<4,即为3 2 1 0,则算出可兑换的啤酒为4 1 0 0;
若rmbBeer>=4,则更换到的啤酒数目num2=rmbBeer/4*3,未更换的套装(啤酒瓶+盖)num3=rmbBeer%4,进入下 一轮更换。此时喝到的总的啤酒书就应该是num=num+num2,继续更换时用到的套装(啤酒瓶+盖)应该是num1=num2+num3;如此循环,知道最后剩余的套装(啤酒瓶+盖)=3 2 1 0;

package cn.itcast.exercise01;

/* 1. 4瓶啤酒瓶+4个盖子可换的3瓶啤酒 公式:换的啤酒书数=啤酒数/4*3
2.到最后未换的的啤酒数/4后的余数,即0 1 2 3
3.3瓶啤酒瓶+3个盖子可换4瓶啤酒
2瓶啤酒瓶+2个盖子可换1瓶啤酒
1瓶啤酒瓶+1个盖子不可换啤酒
*/

public class CountBeer {

public static void main(String[] args) {
    int RMB;
   System.out.println( rmbBeer(RMB = 10));

}

public static int rmbBeer(int RMB) {
    int rmbBeer = RMB / 2;          //最初的钱能买到的啤酒数
    int num1 = rmbBeer;
    int num=num1;
    if (num1 > 3) {

        do {
            int beer1 = rmbBeer / 4;   //每4瓶啤酒瓶+盖子可以换3瓶啤酒
            int num2 = beer1 * 3;  //4瓶啤酒能换到的啤酒数目
            int num3 = rmbBeer % 4;  //未换的啤酒数
            num = num + num2;         //最初和换到的啤酒总数
            rmbBeer = num2 + num3;   //换到的啤酒数+未换的啤酒书

            if (rmbBeer == 3) {
                num = num + 4;

            } else if (rmbBeer == 2) {
                num= num + 1;

            } else {


            }



        }while (rmbBeer > 3) ;


        return num;

    }else if (rmbBeer == 3) {
        num = num + 4;

    } else if (rmbBeer == 2) {

       num = num + 1;

    } else {


    }
         return num;

}

}

如此算出10元能喝到15瓶啤酒;20元能喝到35瓶啤酒;100元能喝到195瓶啤酒
这样算下来买的啤酒越多越省钱,商家难道不赚钱啊?

作为一个刚刚起步的JAVA菜鸟,只是想着能找个问题敲敲代码,若有不妥,在此先道歉,更希望得到各位的指摘。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值