花钱买酒
import java.util.Scanner;
public class Maijiu {
public static void main(String[] args) {
// TODO Auto-generated method stub
//啤酒2元一瓶,10个盖子可以换一瓶啤酒,4个瓶子可以换一瓶啤酒,请问x元最多可换多少瓶啤酒
System.out.println("请输入金额");
Scanner scan = new Scanner(System.in);
int money = scan.nextInt();
System.out.println(sum(money, 0, 0));
System.out.println(sum(money));
scan.close();
}
//递归实现
//现金、空盖子数、空瓶子数。应该可以改进!!!但是我得做其他事情了
public static int sum(int a, int b, int c){
int t = 0;
if(a<2&&b<10&&c<4){
return 0;
}
if(a>=2){
t += a / 2;
a = a % 2;
}
if(b>=10){
t += b / 10;
b = b % 10;
}
if(c>=4){
t += c / 4;
c = c % 4;
}
return t+sum(a , b + t, c + t);
}
//无递归实现金额
public static int sum(int a){
int num = a/2;
int b = num;
int c = num;
while(b>=10||c>=4){
int index =0;
if(b>=10){
index+=b/10;
}
if(c>=4){
index+=c/4;
}
num+=index;
b=b%10+index;
c=c%4+index;
}
return num;
}
}