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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 曾翀 中级黑马   /  2014-7-31 14:15  /  2235 人查看  /  15 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文


28人买可乐喝,3个可乐瓶盖可以换一瓶可乐,那么要买多少瓶可乐,够28人喝?假如是50人,又需要买多少瓶可乐?(需写出分析思路)
class lianxi
{
public static void main(String[] args)
   {        
        PingZinum(28);
         PingZinum(50);
    }
  public static void PingZinum(int x)
    {
        int y;   // x是喝水人数,y是瓶子数;
        y=(2*x+2)/3;
         System.out.println(y);        
    }
}
物理有能量守恒,动量守恒
这个题。。。却是瓶盖数量守恒。。。
因为一个瓶子三个瓶盖 所以瓶盖是3y;因为n个人喝水人数最后有n瓶没有瓶盖的瓶子和n个人中手上最多2个瓶盖。。。。所以得不等式3y<=2n+2  化简的y<=(2*x+2)/3;

15 个回复

倒序浏览
这帖子昨晚不是发过了么。。。

点评

还是兄弟眼力好  发表于 2014-8-1 15:23
回复 使用道具 举报
这个题是数学题么?

点评

算吧。。。。  发表于 2014-8-1 15:22
回复 使用道具 举报
baiiiu 发表于 2014-7-31 14:38
这个题是数学题么?

不,这个是入学考试题目,刚好我抽到过
希望楼主不是投机取巧,想要在这里得到答案

点评

我这是不是都把答案打出来了啊!  发表于 2014-8-1 15:21
回复 使用道具 举报
jwx555 发表于 2014-7-31 14:44
不,这个是入学考试题目,刚好我抽到过
希望楼主不是投机取巧,想要在这里得到答案
...

求答案的多了,前段时间还有人直接征集题库想一网打尽。。。楼主挺好的,有自己的思考,虽然他的公式不正确。。。
回复 使用道具 举报
过来赞一个
回复 使用道具 举报
本帖最后由 fantacyleo 于 2014-7-31 15:20 编辑

其实很简单,没必要想太多。一开始0瓶,0盖子。轮到每个人时,如果盖子数是3个,就拿3个盖子换一瓶,盖子数变成1(3个换一瓶,减3,但换来的一瓶又自带盖子,加1,最后是剩1个盖子),否则就买一瓶,盖子数+1。思路有了,程序就自然而然了:
  1. public int getBottles(int n) {
  2.     int bottle = 0;
  3.     int cap = 0;
  4.     for (i = 1; i <= n; i++) {
  5.         if (cap < 3) {
  6.             bottle ++;
  7.             cap++;
  8.         }
  9.         else
  10.             cap = 1;
  11.     }
  12.     return bottle;
  13. }
复制代码
回复 使用道具 举报
fantacyleo 发表于 2014-7-31 15:19
其实很简单,没必要想太多。一开始0瓶,0盖子。轮到每个人时,如果盖子数是3个,就拿3个盖子换一瓶,盖子数 ...

用你的代码放了15进去  输出11   = = 可是15个人明明买10瓶可乐就够了{:3_66:}
回复 使用道具 举报
Imp_x 发表于 2014-9-1 20:43
用你的代码放了15进去  输出11   = = 可是15个人明明买10瓶可乐就够了

又是借瓶盖?
回复 使用道具 举报

明显啊- -公务员行测题、高考试题都是15人买10瓶
回复 使用道具 举报
Imp_x 发表于 2014-9-1 21:38
明显啊- -公务员行测题、高考试题都是15人买10瓶

高考题?我读书少,你可别骗我。 还是那个问题,能借一个,为什么不能借2个、3个?别说什么能还得上,我回复过你了,“还”那套说辞不成立
回复 使用道具 举报
fantacyleo 发表于 2014-9-1 21:54
高考题?我读书少,你可别骗我。 还是那个问题,能借一个,为什么不能借2个、3个?别说什么能还得上,我 ...

就拿10瓶来说:
10瓶子换完3可乐还剩下1空瓶;
3可乐喝完还剩下4空瓶,3个再换1可乐,还剩下1可乐1空瓶;
也就是说喝完了10+3+1=14瓶可乐后,还剩下2空瓶;
既然多出2空瓶,为什么不能向别人接一个空瓶继续换一瓶可乐,喝完把空瓶还他就好,有借有还,刚好没有空瓶,不造成浪费。至于你说借2、3个,你能还么?你的瓶子都不是归零,而是变负了。
还有,哪里说明了“还”这套说辞不成立?你去商店别人搞活动买一送一,你跟你基友各只看上一件,你们不能合伙买?买满100优惠10块,你跟路人各自只买了50元,不会一起结账合伙每人45?这不是生活简单的问题答案?说辞哪里说明不成立
回复 使用道具 举报
Imp_x 发表于 2014-9-1 22:35
就拿10瓶来说:
10瓶子换完3可乐还剩下1空瓶;
3可乐喝完还剩下4空瓶,3个再换1可乐,还剩下1可乐1空瓶; ...

哦,搞错了,是昨天回复另一个人的,不过都是针对借瓶盖的思路,见:http://bbs.itheima.com/forum.php ... mp;page=1#pid958085
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马