黑马程序员技术交流社区
标题:
关于28个人喝可乐的问题最简单的分析以及做法,没有之一
[打印本页]
作者:
dubei1993
时间:
2016-6-3 10:22
标题:
关于28个人喝可乐的问题最简单的分析以及做法,没有之一
28人买可乐喝,3个可乐瓶盖可以换一瓶可乐,那么要买多少瓶可乐,够28人喝?假如是50人,又需要买多少瓶可乐?
正常思路:买了n瓶可乐,得了n个瓶盖;换了n/3瓶可乐,余下n%3个瓶盖;换n/3/3瓶可乐,又余下n/3%3个瓶盖。循环结束条件所有的瓶盖总数<3,且所有的可乐数>=28;做起来有一定的难度
另类思路:3瓶盖=1可乐=1瓶盖+1汽水(其实是汽水加瓶子,但是效果是一样的,只是为了方便书写),
可以得出:2瓶盖=1汽水;最后剩下的瓶盖数目<3,那么说明,我们相当于是只买了汽水,而把瓶盖有还给了老板;一瓶可乐的价值是1,那么汽水的价值是2/3;也就是说,我们买了28瓶可乐,就是相当于买了28*2/3瓶汽水(此处默认是向下取整,当时是不能够满足我们的需求的),所以我们只需要28*2/3+1就是最后需要买的可乐数目。
总结:搞清楚算法的结束条件,再加上一定的分析,此题如此的简单。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2