才做完这个题..
* 28个人连续买可乐,每瓶可乐产生一个瓶盖
* 每个人在买可乐之前都判断现有瓶盖是否满足3个,如果满足 则换购一瓶,不需要买,
* 然后将瓶盖数置为1(因为没三个瓶盖就能换购一瓶,所以瓶盖数最多为3,然后换购的可乐又产生一个瓶盖),
* 如果不满足则买一瓶可乐,然后瓶盖数+1;
* */
public static void main(String[] args) {
System.out.println(coke(28));//28人需要买29瓶
System.out.println(coke(50));//50人需要买34瓶
}
public static int coke(int peopleNumber)
{
int buyCoke = 0; //定义一个变量来存储买的可乐数
int bottle = 0; //定义一个变量来存储已有瓶盖数
for(int i = 1 ; i <= peopleNumber ; i++)
{
if(bottle<3)
{
buyCoke++;//3
bottle++;//
}
else
{
bottle=1; //满足瓶盖等于3后,就换购一瓶可乐,然后又产生一个瓶盖
}
}
return buyCoke; |