黑马程序员技术交流社区
标题:
面试题分享3
[打印本页]
作者:
ylca
时间:
2016-7-15 00:09
标题:
面试题分享3
本帖最后由 ylca 于 2016-7-15 00:10 编辑
28人买可乐喝,3个可乐瓶盖可以换一瓶可乐,那么要买多少瓶可乐,够28人喝?
假如是50人,又需要买多少瓶可乐?(需写出分析思路)
/*
* 分析思路: 要买够多少人喝,先一瓶一瓶的买,边买边换,直到可乐总数满足所有人喝为止 可以设可乐总数为sum,购买的瓶数用count来计数
* 每购买一瓶count自加一,可乐总数sum也加一 可乐总数sum达到三的倍数时,就可以用瓶盖再换一瓶,即总数sum加一
* 按以上规律做一个循环,当可乐总数sum满足所有人需要时跳出循环,此时的count值即为需要购买的瓶数 28人共需要买:19瓶
* 50人共需要买:34瓶
*/
public static void main(String[] args) {
int n = 28;// 人数
System.out.println(n + "人共需要买:" + getCount(n) + "瓶");
}
public static int getCount(int n) {
int sum = 0;// 用于记录当前可乐总数
int count = 0;// 用于记录购买的可乐数
while (sum < n) {
count++;
sum++;
if (sum % 3 == 0) {
sum++;
}
}
return count;
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2