今天项目经理给出了一道啤酒瓶的问题:开始在纸上写了几步,分解到第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