本帖最后由 furuigang 于 2016-1-24 22:33 编辑
看到这样一道题目,顺手就做了下分享给大家。众位大神多多指教。求不打,求轻虐~还是以前的习惯,代码加截图,希望大家一起交流!
题目:
28人买可乐喝,3个可乐瓶盖可以换一瓶可乐,那么要买多少瓶可乐,够28人喝?
假如是50人,又需要买多少瓶可乐?(需写出分析思路)
分析思路
A:要买够多少人喝,先一瓶一瓶的买,边买边换,直到可乐总数满足所有人喝为止
B:可以设可乐总数为 sum,购买的瓶数用 count 来计数
C:每购买一瓶 count 自加一,可乐总数 sum 也加一
D:购买瓶数 count 达到三的倍数时,就可以用瓶盖再换一瓶,即总数 sum 加一
E:按以上规律做一个循环,当可乐总数 sum 满足所有人需要时跳出循环
F:此时的 count 值即为需要购买的瓶数
代码如下:
public class Test10 {
public static void main(String[] args) {
System.out.println("28人买可乐喝,需要买" + getNum(28) + "瓶可乐");
System.out.println("50人买可乐喝,需要买" + getNum(50) + "瓶可乐");
}
public static int getNum(int num) {
int sum = 0;//用于记录当前可乐总数
int count = 0;//用于记录购买的可乐数
while (sum < num) {
count++;
if(sum % 3 == 0)
sum++;
sum++;
}
return count;
}
}
|
|