アルゴリズム初体験:10元でビールを買う
4397 ワード
/* 2 ,
2 ,
4 ,
10 */
public class Test {
private static final int onemoney = 2;// 2
private static final int emptybeer = 2;//2
private static final int capbeer = 4;//4
private static final int MYMONEY = 10;//
private static int time=0;//
private static int sumbeer = 0;//
public static void main(String[] args) {
int time_1_beer = MYMONEY/onemoney;
sumbeer = time_1_beer;
change(time_1_beer,time_1_beer);
System.out.println(" 1 , "+time+" , "+sumbeer+" ");
}
public static void change(int empty,int cap){
time++;
System.out.println(time+" , : ="+empty+", ="+cap);
int num_empty = empty / emptybeer;//
int num_empty_leave = empty % emptybeer;//
System.out.println("-- "+num_empty+" , "+num_empty_leave+" ");
int num_cap = cap / capbeer;//
int num_cap_leave = cap % capbeer;//
System.out.println("-- "+num_cap+" , "+num_cap_leave+" ");
int num_changeAll = num_empty + num_cap;
sumbeer = sumbeer + num_changeAll;
int num_empty_now = num_empty_leave + num_changeAll;// = +
int num_cap_now = num_cap_leave + num_changeAll;// = +
if(num_empty_now >= emptybeer || num_cap_now >= capbeer){
change(num_empty_now, num_cap_now);
}else{
System.out.println();
System.out.println(" , "+num_empty_now+", "+num_cap_now);
}
}
}