20元买汽水,1元买1瓶,2个空瓶换1瓶汽水,3个瓶盖换一瓶汽水。(不考虑借贷)我这样写的代码有问题吗,答案应该是多少
愿吟 2019-11-26 10:28:29 public class Demo2 {
public static void main(String[] args) {
System.out.println(buy(20,0,0,0));
}
//money:钱 pz:空瓶子 gz:盖子 qs:换得的汽水总数
public static int buy(int money,int pz,int gz,int qs) {
if(money>0) {
qs=money;
money=0;
pz=qs;
gz=qs;
return buy(0,pz,gz,qs);
}
if(pz>=2) {
qs+=pz/2;
gz+=pz/2;
pz=pz/2+pz%2;
return buy(0,pz,gz,qs);
}
if(gz>=3) {
qs+=gz/3;
pz+=gz/3;
gz=gz/3+gz%3;
return buy(0,pz,gz,qs);
}
return qs;
}
}运行结果113