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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 79481535 中级黑马   /  2015-10-11 09:16  /  979 人查看  /  18 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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

  1. public static void main(String[] args){
  2.         CountKele(28);
  3.         }

  4.     public static void CountKele(int number){//此处传入人数

  5.         int kele = 0;//定义一个变量,来统计瓶盖的数量。
  6.         int count = 0;//定义一个变量,来统计买的可乐的数量。
  7.         for(int i=1; i<number; i++){
  8.             if(kele == 3){
  9.                 kele = 1;
  10.             }
  11.             else{
  12.                 kele ++;
  13.                 count ++;
  14.             }

  15.         }
  16.         System.out.print(number+"人喝可乐,需要购买"+count+"瓶可乐。");
  17.     }
复制代码

18 个回复

倒序浏览
清晰思路点个赞
回复 使用道具 举报
大神求带
回复 使用道具 举报
很清晰。。。。。。
回复 使用道具 举报
思路清晰
回复 使用道具 举报
不错。代码很简洁啊!
回复 使用道具 举报
yuyucoo 中级黑马 2015-10-11 17:35:39
7#
本帖最后由 yuyucoo 于 2015-10-11 17:42 编辑

你是正确的
回复 使用道具 举报
看了半天才看懂
回复 使用道具 举报
fwqk123 中级黑马 2015-10-11 18:36:34
9#
逻辑清楚
回复 使用道具 举报
Jared 中级黑马 2015-10-11 18:42:08
10#
水不到经验了吗
回复 使用道具 举报
我都看不懂!
回复 使用道具 举报
受教受教
回复 使用道具 举报
思路分析并没有
回复 使用道具 举报
666666666666
回复 使用道具 举报
dzzheng3 来自手机 中级黑马 2015-10-11 23:00:04
15#
这个有点意思
回复 使用道具 举报
it213399 来自手机 中级黑马 2015-10-11 23:44:59
16#
顶,!!!!!
回复 使用道具 举报
66666666666666
回复 使用道具 举报
public class Test{
        public static void main(String[] args) {
                demo(28);
        }
        public static void demo(int num){
                int present = 0;        //赠送的
                int buf = 0;        //购买的
                while((buf+present)<num){        //赠送的和购买的够数了就不循环
                        buf++;        //每次购买1瓶
                        if(buf%3==0){        //如果买了3瓶就赠送一瓶
                                present++;
                        }
                }
                System.out.println("购买:"+buf+"   赠送:"+present);
        }
}

回复 使用道具 举报
这个问题其实很简单,推导一个公式就搞定,不需要模拟,你的代码复杂了。

  1. public static void main(String[] args) {
  2.         int n = 28;
  3.         System.out.println((n%3==0)?(n-n/3+1) : (n-n/3));
  4. }
复制代码
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马