黑马程序员技术交流社区
标题:
关于28个人买可乐,3个瓶盖换1瓶可乐的问题。。。
[打印本页]
作者:
Summer910925
时间:
2015-8-5 17:34
标题:
关于28个人买可乐,3个瓶盖换1瓶可乐的问题。。。
28人买可乐喝,3个可乐瓶盖可以换一瓶可乐,那么要买多少瓶可乐,够28人喝?假如是50人,又需要买多少瓶可乐?
public class Test {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入人数 :");
int num = sc.nextInt();
int BuyNumber = 0;
if(num <= 3){
BuyNumber = num;
}
else {
for(int x = 3 ; x <num ; x++){
if(x + x/2 >= num){
if((x%2 == 0)&&(x +x/2 == num)){
BuyNumber = x + 1 ;
break;
}
else {
BuyNumber = x;
}
}
}
}
System.out.println(BuyNumber);
}
}
作者:
Summer910925
时间:
2015-8-5 17:36
就是这点儿代码,分析问题得出一个x+x/2 = 28 的初步式子
作者:
Summer910925
时间:
2015-8-5 17:40
计算机中,除法运算符/ 自动向下取整,完善了x+x/2 >= num中一种不成立的情况;
判断(x%2 == 0)&&(x +x/2 == num) ,得到的x如果是偶数并且x + x/2正好等于num,只需将x加1就可以了
作者:
Wqi
时间:
2015-8-5 17:59
本帖最后由 Wqi 于 2015-8-5 18:01 编辑
总的瓶子数 -买的瓶子数= 买的瓶数/[换一瓶需要的盖子数 -1]
作者:
thoris
时间:
2015-8-5 18:09
if(num <= 3){
BuyNumber = num;
但是通常3个人只要买两瓶就可以了。借一瓶 最后还3个盖子。
作者:
Summer910925
时间:
2015-8-5 18:35
thoris 发表于 2015-8-5 18:09
if(num
还带借的?
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2