28人买可乐喝,3个可乐瓶盖可以换一瓶可乐,那么要买多少瓶可乐,够28人喝?假如是50人,又需要买多少瓶可乐?(需写出分析思路)
* 分析:
* 没3个瓶盖就是一瓶可乐,就是每三瓶我就加一瓶;假设现在有有a 瓶可乐,那么就有a / 3个可乐 和a% 3个可乐盖。可乐盖的总数是a/3+ a% 3
*
* 反过来,设定i++。不停的试最后的结果,得到结果就打印;
int num = 50;
int i = 0;
while(getp(i) + i < num){
i++;
}
System.out.println(i);
}
public static int getp(int i){
if(i > 3){
return i/3 + getp(i / 3 + i % 3); //把剩下的可乐和瓶盖产生的可乐传回!递归!
}else{
return 0;
}
}
|
|