28人买可乐喝,3个可乐瓶盖可以换一瓶可乐,那么要买多少瓶可乐,够28人喝?假如是50人,又需要买多少瓶可乐?(解读误区)
2016-07-24 21:29
603 查看
28人买可乐喝,3个可乐瓶盖可以换一瓶可乐,那么要买多少瓶可乐,够28人喝?假如是50人,又需要买多少瓶可乐?
本来是一道很简单的问题(找个小学生都能算出来)但是大部分人都忽略了一个跟经济有关的问题。假如是三个人去买啤酒喝,到底需要买几瓶啤酒呢?是3瓶吗?NONO
NO
是2瓶!你想想,先买2瓶,然后再向老板借1瓶(万一不借呢?)喝完之后刚好3个瓶盖可以兑换刚才借的那1瓶啤酒,对老板来说并没有什么亏损,为什么不借呢!!!
上代码:
public static void main(String[] args) { int peopleNum = 18;// 人数 int beerNum = 0, beerCap = 0, beerToBuy = 0; while (beerNum != peopleNum) { beerToBuy++;// 买一瓶 beerNum++;// 啤酒数量加1 beerCap++;// 啤酒盖数量加1 if (beerCap == 3) {// 啤酒盖累计到3个就去兑换一个 beerNum++;// 兑换之后啤酒数量再加1 beerCap = 1;// 啤酒盖数量就是刚才兑换的那一瓶啤酒的数量为1 } if ((beerNum == peopleNum - 1) && (beerCap == 2)) {// 借一瓶,喝完再兑换 sop(">目前啤酒有" + beerNum + "瓶,啤酒盖有" + beerCap + "个"); beerNum++; sop(">酒盖还差1个就可以兑换1瓶,可以先借1瓶啤酒,喝完再兑换"); } }// 直到啤酒数量与人的数量一致 sop(">>" + peopleNum + "个人喝啤酒,需要买" + beerToBuy + "瓶啤酒"); } /** * 简化的打印形式 */ public static void sop(Object object) { System.out.println(object); }
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- c++11 + SDL2 + ffmpeg +OpenAL + java = Android播放器
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序
- 二叉查找树