链接:https://www.nowcoder.com/questionTerminal/fe298c55694f4ed39e256170ff2c205f?toCommentId=12726161&ran=685
来源:牛客网
某商店规定:三个空汽水瓶可以换一瓶汽水,允许向老板借空汽水瓶(但是必须要归还)。
小张手上有n个空汽水瓶,她想知道自己最多可以喝到多少瓶汽水。
数据范围:输入的正整数满足 1<=n<=100
注意:本题存在多组输入。输入的 0 表示输入结束,并不用输出结果。
import java.util.*;
public class Main{
public static int func(int kp){//kp表示空瓶数
if(kp<2){
return 0;
}
if(kp==2){
return 1;
}
int qs=kp/3;//兑换产生的汽水
kp=kp%3;//余下的空瓶
kp+=qs;//余下的空瓶加上兑换产生的空瓶
return qs+func(kp);
}
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
while(scanner.hasNext()){//多组输入
int n=scanner.nextInt();
if(n==0){
break;
}
if(n==1){
System.out.println(0);
}
if(n==2){
System.out.println(1);//借一个空瓶子,换一瓶汽水,再把空的还了
}
System.out.println(func(n));
}
}
}