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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© God’s favoure   /  2014-10-24 21:17  /  3481 人查看  /  32 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

陈云阳 发表于 2014-10-25 22:20
楼主只是加了注释,我这算法的思路也很简单 , 买两瓶饮料,就有两个瓶盖,然后再向老板借一个瓶盖,换一 ...

确实很简练,
回复 使用道具 举报
ジ旋律 来自手机 中级黑马 2014-10-25 22:37:09
22#
哈哈,数学很有意思滴
回复 使用道具 举报
敲代码还是思路最重要啊!
回复 使用道具 举报
真心太感动了。算法帝级别
回复 使用道具 举报
一道数学题
回复 使用道具 举报
noiary 高级黑马 2014-10-27 16:27:57
26#
  1. /*28人买可乐喝,3个可乐瓶盖可以换一瓶可乐,
  2. *                 那么要买多少瓶可乐,够28人喝?假如是50人,
  3. *                 又需要买多少瓶可乐?(需写出分析思路)
  4. */

  5. public class Test {

  6.         public static void main(String[] args) {
  7.                 int pNum = 4;
  8.                 System.out.println(getNum(pNum));
  9.         }
  10.        
  11.         /*思路:买3送1,那么每增加4个人实际上只增加了3瓶可乐*/
  12.         public static int getNum(int pNum) {
  13.                
  14.                 /*
  15.                  x=购买数量中不被3整出的部分,也就是无法参加满三赠一的部分人,
  16.                  值可能是0(被4整除,那么瓶数也一定是3的整数倍),1,2,3;
  17.                  不管是几,这一部分人的可乐都属于实际购买可乐数量的一部分,所以最后公式中要加上.
  18.                 */
  19.                 int x = pNum % 4;  
  20.                
  21.                
  22.                 /*
  23.                  y=要送的瓶数;3个人送1瓶就是4瓶,每4个人中有一个人是送的,所以用人数/4
  24.                 */
  25.                 int y = pNum / 4;
  26.                
  27.                 /*
  28.                  因为y是送的瓶数,那么每送一瓶其实就是买了3瓶,
  29.                  所以用3*y是实际买的3的整数倍瓶数(不包含送的),再加上x,就等于实际购买数量.
  30.                 */
  31.                 return (3 * y + x);
  32.         }
  33. }
复制代码
回复 使用道具 举报
晕死,老板会借吗。我还是觉得21比较好,考试我就是用递归算的,结果21,还是这样好
回复 使用道具 举报
陈云阳 发表于 2014-10-25 22:20
楼主只是加了注释,我这算法的思路也很简单 , 买两瓶饮料,就有两个瓶盖,然后再向老板借一个瓶盖,换一 ...

这种办法可行性有点低,因为这样老板就会少卖一瓶,那一瓶的中间利润他赚不到了
回复 使用道具 举报

所有的人同时喝时,这样是可行的;如果可以不同时喝时,送的7瓶还可以换2瓶,那样要买的瓶数减2了,或者去补后边不足三瓶的余数
回复 使用道具 举报
陈云阳 发表于 2014-10-25 22:20
楼主只是加了注释,我这算法的思路也很简单 , 买两瓶饮料,就有两个瓶盖,然后再向老板借一个瓶盖,换一 ...

这个见解好
回复 使用道具 举报
姜浩 中级黑马 2014-10-31 12:39:07
31#
郑飞 发表于 2014-10-25 05:17
不一样 楼主发的代码 大妈都能看懂 却解决了问题

要不要这么直白,哈哈
回复 使用道具 举报
含着泪微笑 发表于 2014-10-29 09:37
这种办法可行性有点低,因为这样老板就会少卖一瓶,那一瓶的中间利润他赚不到了 ...

你这什么思维,老师给你出一道数学题,往一个池子注满水,需要3小时注满,放水需要4小时才能放完,如果一边注水一边放水需要多久能注满池子?    难道这时你还要考虑哪个神经病会做出一边注水一边放水,浪费水资源的行为吗
回复 使用道具 举报
嘻嘻,被你发现了。。。
回复 使用道具 举报
12
您需要登录后才可以回帖 登录 | 加入黑马