[互联网面试笔试汇总C/C++-10] 糖果拆包-美团
2013-10-11 11:41
531 查看
题目:糖果进货时有6个一包,9个一包和140个一包三种包装,问用户一次购买超过多少个糖果可以不拆包装组合出用户需要的数量。
分析:这道题抽象成数学表达式就应该是:6X+9Y+140Z=N,求N的最小值。
在这里我们可以类比:
考虑到任意大于1的整数都能以2X+3Y的形式得出,
所以除3以外,任何3的倍数都可以写成6Y+9Y的形式,
那么在这个题里,140就是用来解决模3余1和模3余2这两种情况的基数。
140模3余2,因此只要大于140且模3余2的,都可以减去140*N,而成为3的倍数,最低为146
280模3余1,因此只要大于280且模3余1的,都可以减去280*N,而成为3的倍数。最低为286
考虑到285为3的倍数,284模3余2,因此只要大于等于284,都可以
分析:这道题抽象成数学表达式就应该是:6X+9Y+140Z=N,求N的最小值。
在这里我们可以类比:
考虑到任意大于1的整数都能以2X+3Y的形式得出,
所以除3以外,任何3的倍数都可以写成6Y+9Y的形式,
那么在这个题里,140就是用来解决模3余1和模3余2这两种情况的基数。
140模3余2,因此只要大于140且模3余2的,都可以减去140*N,而成为3的倍数,最低为146
280模3余1,因此只要大于280且模3余1的,都可以减去280*N,而成为3的倍数。最低为286
考虑到285为3的倍数,284模3余2,因此只要大于等于284,都可以
相关文章推荐
- [互联网面试笔试汇总C/C++-9] 实现赋值运算符函数-剑指offer
- [互联网面试笔试汇总C/C++-16] 判断一棵二叉树是否是平衡二叉树
- [互联网面试笔试汇总C/C++-26] Socket 长连接与短连接,心跳(keep-alive)
- [互联网面试笔试汇总C/C++-3] 网易有道-2
- [互联网面试笔试汇总C/C++-6] 迅雷
- 转[互联网面试笔试汇总C/C++-27] 为什么TCP链接要三次握手而不是两次握手-雅虎
- [互联网面试笔试汇总C/C++-24] Linux守护进程工作原理和方式-雅虎
- [互联网面试笔试汇总C/C++-7] 寻找两个链表的第一个交点-微策略
- [互联网面试笔试汇总C/C++-14] 判断一棵二叉树是否是二叉搜索树-微策略
- [互联网面试笔试汇总C/C++-6] 迅雷
- [互联网面试笔试汇总C/C++-2] 网易有道-1
- [互联网面试笔试汇总C/C++-21] FIFO 、LRU、LFU的含义、原理和实现-完美世界
- [互联网面试笔试汇总C/C++-8] 寻找两个链表的第一个交点-微策略
- [互联网面试笔试汇总C/C++-9] 实现赋值运算符函数-剑指offer
- [互联网面试笔试汇总C/C++-27] 为什么TCP链接要三次握手而不是两次握手-雅虎
- [互联网面试笔试汇总C/C++-17] 链表交点,链表环问题汇总
- [互联网面试笔试汇总C/C++-18] 生产者消费者模型
- [互联网面试笔试汇总C/C++-20] 如何申请一个大小为n的数组(一维或二维)
- [互联网面试笔试汇总C/C++-4] 进程和线程的区别
- [互联网面试笔试汇总C/C++-11] 字符串全排列和组合算法