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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 明天你好,微笑 中级黑马   /  2015-8-19 20:39  /  283 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

28人买可乐喝,3个可乐瓶盖可以换一瓶可乐,那么要买多少瓶可乐,够28人喝?假如是50人,又需要买多少瓶可乐?

4 个回复

倒序浏览
...这跟Java有什么关系 刷分也专业点
回复 使用道具 举报
求解答,求大神支招
回复 使用道具 举报
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;
                                                break;
                                        }
                                }
                        }
                }
               
                System.out.println(BuyNumber);
        }
}
回复 使用道具 举报
没有写注释,这是我用数学方法写的,当人数足够多的时候,平均下来是2个瓶盖换1瓶可乐,
最后的瓶盖只可能是1个或者2个,因为在计算机中两数相除,会自动向下取整,所以做if(x + x/2 >= num)
判断时,相当于自动再买一瓶。
还有一种情况,x + x/2正好等于num,且x是整数,这时自己加上1瓶即可。
不知道你有没有看懂
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马