A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

Summer910925

初级黑马

  • 黑马币:51

  • 帖子:13

  • 精华:0

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);
        }
}

5 个回复

倒序浏览
就是这点儿代码,分析问题得出一个x+x/2 = 28 的初步式子
回复 使用道具 举报
计算机中,除法运算符/ 自动向下取整,完善了x+x/2 >= num中一种不成立的情况;
判断(x%2 == 0)&&(x +x/2 == num) ,得到的x如果是偶数并且x + x/2正好等于num,只需将x加1就可以了
回复 使用道具 举报
本帖最后由 Wqi 于 2015-8-5 18:01 编辑

总的瓶子数 -买的瓶子数= 买的瓶数/[换一瓶需要的盖子数 -1]
回复 使用道具 举报
if(num <= 3){
        BuyNumber = num;

但是通常3个人只要买两瓶就可以了。借一瓶 最后还3个盖子。
回复 使用道具 举报

还带借的?
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马