public class PingGaiPro {
/**
* 问题:有x个人买可乐喝,3个瓶盖可以换一瓶可乐,问需要至少买多少瓶可乐
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println(bottleSum(27));
System.out.println(bottleSum_1(27));
}
//模仿一次一次的买可乐实现
//思路:每次购买1瓶,达到3瓶进行一次兑换,循环,直到够每人一瓶
public static int bottleSum(int x){
int sum=0;
int temp=0;
for(int i=1;i<=x;i++){ //模仿每个人分到一瓶可乐
temp++;
if(temp==3){ //如果手头的可乐达到了3瓶则sum不加,并清零temp
temp=0;
continue;
}
sum++; //sum记录买了多少瓶
}
return sum;
}
//从总人数上面入手算出需要多少个
//思路是:每三个人一组,买两瓶可乐,和老板借一瓶可乐,然后喝完,拿三个盖子换一瓶新可乐,然后还给老板,这样的话付出2瓶满足三个人
public static int bottleSum_1(int x){
return 2*x/3;
}
|