class Text extends Thread {
public static void main(String[] args) {
int[] arr = new int[20]; //定义一个数组,足够大即可,因为数组元素初始值默认为1
int sum1 = 0;
int count = 0; //用于计数瓶数
while (true) {
count++; //每次循环到这表示买一瓶
arr[0]++; //这里同样如此
for (int i = 0;i<arr.length-1;i++) {
if (arr[i] == 0) {
break;
}
if (arr[i] == 3) {
arr[i+1]++; //每三瓶换一瓶
arr[i] = 0; //然后把自身初始化为零,不然下次循环无法判断了
sum1 += 3; //因为把自身置为零了,所以用sum1来总和所有被置零的数目
}
}
int sum2 = 0;
for (int i = 0;i<arr.length;i++) { //求和数组中现有数的总和
sum2 +=arr[i];
}
if ((sum1+sum2) == 50) { //被置零的数加上数组中现有元素的总数即为总瓶数。
break;
}
}
System.out.println("要买"+count+"瓶可乐。");
}
} |