今天看了一个朋友分享的一个笔试题,闲着无聊自己实现了下,题目如下:
1.一个酒鬼有20美元,三美元可以买一瓶酒,三个空瓶子可以换一瓶酒,那么用程序实现这个酒鬼最多能
喝多少瓶酒(不要求结果,要求程序过程)
程序如下:
public class Drunkard {
public static void main(String[] args) {
int dollar = 20; //美元
int paged = 3; //多少美元买一瓶啤酒
int pageb = 3; //多少瓶子换一瓶啤酒
int beer = getBeerSum(dollar, paged ,pageb);
System.out.println("酒鬼共喝了:"+beer+" 瓶酒");
}
/**
* 得到总共的啤酒数
* @param dollar
* @param paged
* @param pageb
* @return
*/
public static int getBeerSum(int dollar, int paged, int pageb){
int beer = dollar/paged; //总共啤酒数
int bottle = dollar/paged; //剩余的瓶子数
while(bottle>=pageb){
int each = bottle/pageb;
beer += each;
bottle = bottle%pageb + each;
}
return beer;
}
}
不知是否实现完整,欢迎指出。