解决方案
10
public class Heshui {
private static int counter = 0;//新水计数
private static int emptyCount = 0;//空瓶计数
public static void main(String[] args) {
for (int i = 1; i <= 27; i++) {
drink(i);
}
System.out.println("至少需要"+counter+"瓶水");
}
public static void drink(int num){
System.out.println("第"+num+"个人喝水前空瓶数:"+emptyCount);
if(emptyCount > 2){//换新水
emptyCount -= 2;
System.out.println("第"+num+"个人用三个空瓶换了一瓶,喝水后空瓶数:"+emptyCount);
return;
}
//拿新水
counter ++;
emptyCount ++;
System.out.println("第"+num+"个人拿了一瓶新水,拿的新水数:"+counter+",喝水后空瓶数:"+emptyCount);
}
}
这样的话是至少19瓶水,不知道有没有忽漏
10
赞一个
10
public class Csdn{
public static void main(String args[]){
System.out.println(Water(27));
}
public static int Water(int num){
int x=0,ex=0;
while(num>3){
num-=4;
x=x+3;//x是需要买的水的瓶数。
ex+=1;//ex是空瓶数量。
if(ex%3==0){
num=num-1;
ex=1;
}
}
if(num<=3){
if(num==3){
x=x+2;
}
else if(num==2){
if(ex==2){
x=x+1;
}
else if(ex==1)
x=x+2;
}
else
x=x+1;
}
return x;
}
}
public static void main(String args[]){
System.out.println(Water(27));
}
public static int Water(int num){
int x=0,ex=0;
while(num>3){
num-=4;
x=x+3;//x是需要买的水的瓶数。
ex+=1;//ex是空瓶数量。
if(ex%3==0){
num=num-1;
ex=1;
}
}
if(num<=3){
if(num==3){
x=x+2;
}
else if(num==2){
if(ex==2){
x=x+1;
}
else if(ex==1)
x=x+2;
}
else
x=x+1;
}
return x;
}
}
10
public class Main {
public static void main(String[] arg) {
int people = 24;
int sum = 3;
int flag = 3;
while (people > 0) {
if (flag % 3 == 0) {
flag++;
people--;
}
sum++;
flag++;
people--;
}
System.out.println(sum);
}
}