1.需求
两块钱一瓶啤酒,
四个盖子可以换一瓶啤酒。
2个瓶子可以换一瓶啤酒。
问: 如果手上有20块钱,一共喝了多少瓶啤酒?
2.思路一:
拿所有的瓶子去换酒,
更新瓶盖数
更新瓶子数
更新总数
然后瓶盖能换酒就一直换
更新瓶子数
更新瓶盖数
更新总数
class Wine{
public static void main(String[] args){
int money = 20;
int price = 2;
int num =0;
int result = money / price;
int box = money / price;
int gai=money / price;
//先换瓶子(原因:初始3瓶酒也能进行循环换酒)
for (;box>=2;){
num = box/2;
box = box%2+num;
gai = gai+num;
result = result + num;
//只要瓶盖数大于4就一直换酒
for (;gai>=4;){
num = gai/4; //每次换的个数
gai = gai%4+num; //每次换完之后瓶盖的数量
box = box + num; //每次换完后更新瓶子数量
result = result + num; //每次换完之后更新总数
}
}
System.out.println(result);
}
}