本帖最后由 new999 于 2014-9-21 09:41 编辑
- package com.itheima.test;
- public class EmptyBottles{
- public static void main(String[] args){
- int pNum=28;
- System.out.println("买来"+getBottles(pNum)+"瓶饮料,够"+pNum+"人喝");
- }
- private static int getBottles(int pNum) {
- //empty用于记录空瓶数,sum是实际喝到的瓶数,bottles2是换来的可乐。
- int sum, empty,bottles2;
- for (int i = pNum>>>1; i <=pNum; i++) {
- sum = i;//初始瓶数i,喝掉i瓶,
- empty = i;//产生i瓶空瓶
- while ((bottles2=empty/3)!=0) {//空瓶换饮料
- sum += bottles2;//喝掉换来的饮料,
- empty = bottles2 + empty%3;//产生的空瓶再加上上次剩下的空瓶
- }
- if(empty==2){//向老板赊来1瓶,最后用3个空瓶偿还
- sum++;
- }
- //System.out.println("买来"+i+"瓶饮料,够"+sum+"人喝,最后剩下个"+empty+"空瓶");
- if(sum>=pNum){
- return i;
- }
- }
- return pNum;
- }
- }
复制代码 |