笔试有一套题目,感觉还行
28人买可乐喝,3个可乐瓶盖可以换一瓶可乐,
* 那么要买多少瓶可乐,够28人喝?假如是50人,又需要买多少瓶可乐?(需写出分析思路)
* 答:28人需要买19瓶,50人需要买34瓶。
因为换来的饮料还能继续换,
* 需要定义2个变量,一个temp,记录换完饮料之后的饮料瓶盖的数量。一个count用来记录当前拥有的饮料数
* 如果瓶盖数大于3就要一直循环换饮料,最后判断饮料数够的条件,因为所求的是最少饮料数,所以我程序就从1(可以根据题目而定吧我认为)开始往上加,直至有满足条件的数出现,具体条件看情况给定。
所以我们要先定义一个方法求得瓶盖数,很容易得到如下程序:
public class Test10 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int temp =0;
for (int i=1;i<1000;i++)
{
int count=0;
temp =math(i);//将瓶盖数赋值给临时变量
count=i/3+i;//将当前的饮料数赋值给计数器
while(temp>=3)//如果瓶盖数多于3就可以继续换,所以定义此条件
{
count+=temp/3;
temp =math(temp);
}
if(count>=28)//判断所得的饮料数,如果大于28就输出所买饮料数
{
System.out.println(i);
break;
}
}
}
public static int math(int a)//定义一个函数求出换之后的瓶盖数
{
int b =0;
b=a%3;
a=a/3+b;
return a;
}
}
|