(逻辑题)10元买啤酒2个空瓶换一瓶4个瓶盖换一瓶,经典算法原题目:10元钱去买啤酒,2个空瓶可兑换一瓶,4个瓶盖可兑换一瓶,请问总共能喝多少瓶
基本思路是每一轮的瓶和盖数量累加计算,使用一个循环解决;
##结果数量:ans
啤酒:B
瓶盖:G
瓶子:P
M for money
public class BeerDrink {
public static void main(String[] args) {
int M = 10;
int B = M/2;
int ans = 0;
int G = B;
int P = B;
ans +=B;
while (G >=4 || P >=2){
B = G/4 + P/2;
ans +=B;
G = G%4 + B;
P = P%2 + B;
B = 0;
}
System.out.println("能喝"+ans+"剩下"+G+"盖"+P+"瓶");
}
}
运行结果
能喝15剩下3盖1瓶
关于题目的借瓶拓展问题,再次暂不做考虑,此后补充;