算法---啤酒瓶问题

今天项目经理给出了一道啤酒瓶的问题:开始在纸上写了几步,分解到第7步的时候脑子有点乱无法继续分解下去,所以就写了一个java小程序给解决了这个问题。

问题:一瓶啤酒1块钱,2个空瓶可以换1瓶啤酒,3个瓶盖可以换1瓶啤酒,问你如果有20块钱,一共能换到多少瓶啤酒?(不允许借钱借啤酒等其他方法)

 public static void main(String[] args) throws InterruptedException {
        //啤酒数量
         int beer=20;
         int emptyBottle =20;
         int bottleCap =20;
        //1瓶酒1块钱    2个空瓶换1瓶啤酒  3个瓶盖换1瓶啤酒     20块钱一共能买多少瓶啤酒
        while(emptyBottle>=2 || bottleCap>=3){
            if(emptyBottle>=2){
                System.out.println("空瓶换啤酒----------------------------------");
                 //  啤酒
                beer=beer+emptyBottle/2;
                bottleCap = bottleCap+emptyBottle/2;
                emptyBottle =emptyBottle%2+emptyBottle/2;
                System.out.println("emptyBottle---"+emptyBottle+"------bottleCap--"+bottleCap+"------beer--"+beer);
            }
            if(bottleCap>=3){
                System.out.println("瓶盖换啤酒----------------------------------");
                beer=beer+bottleCap/3;
                emptyBottle =emptyBottle+bottleCap/3;
                bottleCap = bottleCap%3+bottleCap/3;
                System.out.println("emptyBottle---"+emptyBottle+"------bottleCap--"+bottleCap+"------beer--"+beer);
            }
            Thread.sleep(1000);
            if (emptyBottle<2 && bottleCap<3){
                break;
            }
        }
        System.out.println("beer---------"+beer);
    }

程序运行结果:113

空瓶换啤酒----------------------------------
emptyBottle---10------bottleCap--30------beer--30
瓶盖换啤酒----------------------------------
emptyBottle---20------bottleCap--10------beer--40
空瓶换啤酒----------------------------------
emptyBottle---10------bottleCap--20------beer--50
瓶盖换啤酒----------------------------------
emptyBottle---16------bottleCap--8------beer--56
空瓶换啤酒----------------------------------
emptyBottle---8------bottleCap--16------beer--64
瓶盖换啤酒----------------------------------
emptyBottle---13------bottleCap--6------beer--69
空瓶换啤酒----------------------------------
emptyBottle---7------bottleCap--12------beer--75
瓶盖换啤酒----------------------------------
emptyBottle---11------bottleCap--4------beer--79
空瓶换啤酒----------------------------------
emptyBottle---6------bottleCap--9------beer--84
瓶盖换啤酒----------------------------------
emptyBottle---9------bottleCap--3------beer--87
空瓶换啤酒----------------------------------
emptyBottle---5------bottleCap--7------beer--91
瓶盖换啤酒----------------------------------
emptyBottle---7------bottleCap--3------beer--93
空瓶换啤酒----------------------------------
emptyBottle---4------bottleCap--6------beer--96
瓶盖换啤酒----------------------------------
emptyBottle---6------bottleCap--2------beer--98
空瓶换啤酒----------------------------------
emptyBottle---3------bottleCap--5------beer--101
瓶盖换啤酒----------------------------------
emptyBottle---4------bottleCap--3------beer--102
空瓶换啤酒----------------------------------
emptyBottle---2------bottleCap--5------beer--104
瓶盖换啤酒----------------------------------
emptyBottle---3------bottleCap--3------beer--105
空瓶换啤酒----------------------------------
emptyBottle---2------bottleCap--4------beer--106
瓶盖换啤酒----------------------------------
emptyBottle---3------bottleCap--2------beer--107
空瓶换啤酒----------------------------------
emptyBottle---2------bottleCap--3------beer--108
瓶盖换啤酒----------------------------------
emptyBottle---3------bottleCap--1------beer--109
空瓶换啤酒----------------------------------
emptyBottle---2------bottleCap--2------beer--110
空瓶换啤酒----------------------------------
emptyBottle---1------bottleCap--3------beer--111
瓶盖换啤酒----------------------------------
emptyBottle---2------bottleCap--1------beer--112
空瓶换啤酒----------------------------------
emptyBottle---1------bottleCap--2------beer--113
beer---------113

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值