题目:
阿里巴巴的食堂搞活动促销,已知某饮料一瓶三元钱,4个瓶盖可以换一瓶,2个空瓶可以换一瓶,则30元可以喝几瓶?
package ex栈;
import java.io.*;
import java.util.*;
import java.text.*;
import java.math.*;
import java.util.regex.*;
public class Main {
/** 请完成下面这个函数,实现题目要求的功能 **/
/** 当然,你也可以不按照这个模板来作答,完全按照自己的想法来 ^-^ **/
static int maxMount(int price, int cap, int emptyBottle, int money) {
int beer = money / price;//初始的啤酒数
int bottel = beer;//初始的瓶子数
int cap1 = beer;//初始的瓶盖数
int temp;
while (cap1 >= cap || bottel >= emptyBottle) {
if ((temp = cap1 / cap) > 0) {
beer = beer + temp;
cap1 = cap1 - cap * temp + temp;
bottel = bottel + temp;
}
if ((temp = bottel / emptyBottle) > 0) {
beer = beer + temp;
cap1 = cap1 + temp;
bottel = bottel - emptyBottle * temp + temp;
}
}
return beer;
}
public static void main(String[] args){
Scanner in = new Scanner(System.in);
int res;
int _price;
_price = Integer.parseInt(in.nextLine().trim());//饮料单价
int _cap;
_cap = Integer.parseInt(in.nextLine().trim()); //4个瓶盖可以换一瓶
int _emptyBottle;
_emptyBottle = Integer.parseInt(in.nextLine().trim()); //2个空瓶换一瓶
int _money;
_money = Integer.parseInt(in.nextLine().trim()); //给定30元
res = maxMount(_price, _cap, _emptyBottle, _money);
System.out.println(String.valueOf(res));
}
}