/*
28人买可乐喝,3个可乐瓶盖可以换一瓶可乐,那么要买多少瓶可乐,够28人喝?假如是50人,又需要买多少瓶可乐?(需写出分析思路)
*/
/*
思路:
1:正向思维,从0开始买可乐,28和50作为控制条件;
2:每买一瓶进入一次for循环,记得每次盖子数和可乐数都增加1;
3:进入for循环后,换可乐是个问题,所以我用了while循环把盖子全部换成可乐;
每次换到的可乐数=盖子/3 +盖子%3(这个理解了其他就好办了);
*/
class HeiMa{
public static void main(String[] args){
hekele(28);
hekele(50);
}
public static void hekele(int man){
int kele;//买的可乐数
int gaizi ;//盖子数
int people = 0;//喝到可乐的人数
int change = 0;//换到的可乐数//
for(kele=0,gaizi=0;people<man;kele++,gaizi++){
while(gaizi>2){
change = change + gaizi/3; //更新换到的可乐数
gaizi =gaizi/3+ gaizi%3; // 更新剩余盖子数
}
people = kele + change ;
if(people==man){
System.out.println("kele="+kele);
}
}
}
} |