算法题
- 卖酒瓶问题,五瓶啤酒瓶子可以兑换一瓶,三个瓶盖可以兑换一瓶,n个酒瓶,可以喝多少次。
public class Testio {
public static void main(String[] args) {
int n = 50; /* n为啤酒数量 */
int con = getCount(50,50,0);
System.out.println(con + n);
}
/**
*
* @param gai 啤酒盖子
* @param pin 空啤酒瓶子
* @param con 用来交换得来的瓶酒数量
* @return
*/
public static int getCount(int gai,int pin,int con){
if (gai < 3 && pin <5){
return con;
}
int a = gai / 3; /*啤酒盖子可换的啤酒*/
int b = gai % 3; /*啤酒盖子换完剩下的盖子数量*/
int c = pin / 5; /*啤酒瓶子可换的啤酒*/
int d = pin % 5; /*啤酒瓶子换完剩下的瓶子数量*/
return getCount(a + b + c,a + c + d,a + c + con);
}
}