黑马程序员技术交流社区

标题: 面试题分享3 [打印本页]

作者: ylca    时间: 2016-7-15 00:09
标题: 面试题分享3
本帖最后由 ylca 于 2016-7-15 00:10 编辑

28人买可乐喝,3个可乐瓶盖可以换一瓶可乐,那么要买多少瓶可乐,够28人喝?
假如是50人,又需要买多少瓶可乐?(需写出分析思路)
  1. /*
  2.          * 分析思路: 要买够多少人喝,先一瓶一瓶的买,边买边换,直到可乐总数满足所有人喝为止 可以设可乐总数为sum,购买的瓶数用count来计数
  3.          * 每购买一瓶count自加一,可乐总数sum也加一 可乐总数sum达到三的倍数时,就可以用瓶盖再换一瓶,即总数sum加一
  4.          * 按以上规律做一个循环,当可乐总数sum满足所有人需要时跳出循环,此时的count值即为需要购买的瓶数 28人共需要买:19瓶
  5.          * 50人共需要买:34瓶
  6.          */
  7.         public static void main(String[] args) {
  8.                 int n = 28;// 人数
  9.                 System.out.println(n + "人共需要买:" + getCount(n) + "瓶");
  10.         }

  11.         public static int getCount(int n) {
  12.                 int sum = 0;// 用于记录当前可乐总数
  13.                 int count = 0;// 用于记录购买的可乐数
  14.                 while (sum < n) {
  15.                         count++;
  16.                         sum++;
  17.                         if (sum % 3 == 0) {
  18.                                 sum++;
  19.                         }
  20.                 }
  21.                 return count;
  22.         }
复制代码







欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2