《12个球问题》分析
《12个球问题》分析
有十二个乒乓球形状、大小相同,其中只有一个重量与其它十一个不同,现在要求用一部没有砝码的天秤称三次,将那个重量异常的球找出来,并且知道它比其它十一个球较重还是较轻。
这是在园友“小_金_鱼”的《寂寞的程序人生》中看到的一个题目,“11道题智商超200…”这几个字完全吸引了我,迅速在Google中搜出了这篇文章。看了这篇文章发现都似曾相识,在学校的时候一直想知道自己的智商,肯定在120以上,没事的时候总找一些相关的题目做做,但每次都让我失望,没有一次超过120。但不代表我会认为我的智商在120以下,现在还是一样一看到“智商”或是IQ就让我两眼放光。当然那篇博客我也就没有往下看,因为我不寂寞啊。
下班第一件事就是打电话给老婆,说今天有题目做了,受我的影响,她也喜欢做这样的题目,在吃晚饭的时候,我告诉了她题目,一告诉她题目我就马上思考,生怕她提前想到了方法,那我多没有面子,但是每次带着功利心去做事,根本就不能正常的思考,高考考了两次,本想考武大的,结果顺利考上了武职。得知她没有在想这个问题我就开心了,我可以正常的思考了,吃完饭没有想出来,老婆说她要在纸上画画,计算计算,还好我不需要,我就一边洗碗,一边思考,最终我想出来了,高兴之情难以言表,就像我突然明白《火车运煤问题》一样,“有时灵光一闪而过,牛顿也吃苹果”。雷军说得对:成功就是99%的汗水+1%的灵感,后半句都被我们有意忽略。其实1%的灵感重要性远远超过前面99%。当灵感到来的时候你必须放下一切的抓住它,对,就是放下一切,哪怕是手上拿着一把枪对着犯人。当然是开玩笑的。
接下来就是在纸上证明给老婆看,证明的过程中,她的话也对我很有提示,整个过程也就三四分钟。但是感觉紧张又刺激,过了几分钟之后,她说是不是漏了一种情况,真的把我给吓一跳,难道我少考虑了一种情况,马上再次证明给她看,又是紧张刺激,最后得出我的分析是对的,分析这种东西就是你分析完之后,你就知道是否对错了,最后你说这就是标准答案。对,就是这样。
下面是分析,不好意思都写成日记了。
一:天平两边先各6个球
由于两边的重量肯定不等,不用称都知道天平肯定不能平衡,白白浪费一次,难道你自认为牛B到用2次就能得出结论,显然你不会这样认为,排除。
二:天平两边先各5个球
如果天平不平衡,特殊的球可能在左边,也可能在右边,左边和右边个称一次,你得不出答案,但你却用了三次机会,Game Over。
三:天平两边先各3个球
称完一次之后,你知道那个特殊的球在其中的6个当中,你要用两次找出那个特殊的球。
你先在天平两边各放两个,如果平衡,你在想特殊球是在左边呢,还是右边,你只有一次机会了,最后你狠坚定的说,排除天平两边先各3个球的情况。
四:我们程序员一般不考虑天平两个先各放2个球,周星驰可能会考虑两边先各放1个球,最后他说:你猜猜那个特殊的球是哪个,是轻是重?你愤怒的说,把这种情况拖出去斩了。
五:天平两边先各放4个球,答案从这里揭晓,请认真看。
1: 如果天平平衡,特殊球在剩下的4个当中,其他8个都为普通球。从4个和8个当中各取3个放在天平上,
1.1:如果平衡,特殊球就是4个当中剩下的那个,你还有一次机会,并且你已经知道是哪个球了,随便和一个球比,如果它重它就是重的,如果它轻它就是轻的。
1.2:如果不平衡
1.2.1 如果特殊球所在的那边轻,特殊球就是轻的,三个球中,称一次找出那个轻的,你会的
1.2.3 如果特殊球所在的那边重,特殊球就是重的,三个球中,称一次找出那个重的,你会的
2:如果天平不平衡,剩下的4个是普通球。从轻的那边取出1个,从重的那边取出3个,放到天平的一边,为A,重的那边剩下的1个和三个普通的放到另一边B。
2.1 如果A=B,特殊球在轻的那边剩下的3个中,3个球,一次找出轻的那个。
2.2 如果A>B,特殊球是重的,在B中除了普通球之外的三个中,3个球,一次找出重的那个。
2.3 如果A<B,特殊球中A中来自第一次轻的那边的那个球(C),或者是B中来自第一次重的那个球(D),C<D,拿C或者是D与普通球比一下就知道答案了。
这次总该打完收工了吧,不要再告诉我说还有错啊,我有心脏病的。
看完之后,你发现其实很简单,的确是这样,不难,乐趣在在于分析和证明的过程。在于1%的灵感。
这个过程让我兴奋,所以我把这篇博客当做是陈太汉的代表作,我的另一篇代表作《火车运煤问题分析》
本文转自啊汉博客园博客,原文链接:http://www.cnblogs.com/hlxs/archive/2011/08/17/2142820.html
《12个球问题》分析相关推荐
- 《火车运煤问题》分析
作者:陈太汉 <火车运煤问题>分析 题目内容: 你是山西的一个煤老板,你在矿区开采了有3000吨煤需要运送到市场上去卖,从你的矿区到市场有1000公里,你手里有一列烧煤的火车,这个火车最多 ...
- 由火车运煤问题想到的
Technorati 标签: 面试题, 火车运煤 本文版权所有,转载请注明出处和作者联系方式. 作者:孙华明 联系方式: wormsun at gmail.com 今天在酷壳网站上看到一道面试题--火 ...
- 面试题:火车运煤问题
面试题:火车运煤问题 来源:http://www.xymyeah.com/165.html 你是山西的一个煤老板,你在矿区开采了有3000吨煤需要运送到市场上去卖,从你的矿区到市场有1000公里,你手 ...
- 关于火车运煤的一些想法
火车运煤也是个经典的问题了.它的定义如下: 你是山西的一个煤老板,你在矿区开采了有3000吨煤需要运送到市场上去卖,从你的矿区到市场有1000公里,你手里有一列烧煤的火车,这个火车最多只能装1000吨 ...
- 火车运煤问题 - 增加一个简单算法实现
火车运煤问题 你是山西的一个煤老板,你在矿区开采了有3000吨煤需要运送到市场上去卖,从你的矿区到市场有1000公里,你手里有一列烧煤的火车,这个火车最多只能装1000吨煤,且其能耗比较大--每一公里 ...
- 几个程序员面试题:火车运煤问题、赛马问题
火车运煤 这个可能是一个比较经典的智力题了,和以前的那个<赛马问题>很相似,其题目如下: 你是山西的一个煤老板,你在矿区开采了有3000吨煤需要运送到市场上去卖,从你的矿区到市场有1000 ...
- 也谈《火车运煤》问题
今日在酷壳看到一篇比较经典的<火车运煤>的智力题 你是山西的一个煤老板,你在矿区开采了有3000吨煤需要运送到市场上去卖,从你的矿区到市场有1000公里,你手里有一列烧煤的火车,这个火车最 ...
- 经典智力题:火车运煤
题目描写叙述例如以下: 你是一个煤老板.你在矿区开採了3000吨煤,须要运送到市场上去卖,从你的矿区到市场有1000公里.你手里有一列以煤为动力的火车.这个火车一次最多能运1000吨煤,火车每公里消耗 ...
- 【面试题】火车运煤问题
原文链接在此http://coolshell.cn/articles/4429.html 自己的思路 感觉这一题有点像微软一道飞机题,最多几架飞机可以绕地球一圈 想的是利益最大化,第一次到1/3处,放 ...
- 火车运煤(骆驼运胡萝卜)问题的最优解
题目来源,http://coolshell.cn/articles/4429.html, 原始题目是这样的,你是山西的一个煤老板,你在矿区开采了有3000吨煤需要运送到市场上去卖,从你的矿区到市场有1 ...
最新文章
- Ubuntu上配置VS Code调试C++
- 使用vue2.0 vue-router vuex 模拟ios7操作
- zabbix性能优化
- 实现自己的.NET Core配置Provider之Yaml
- OllyDBG 入门之四--破解常用断点设
- 2015/4/14课堂练习
- beeshell —— 开源的 React Native 组件库
- 已知矩阵 matlab,在MATLAB中,已知矩阵A,那么A(:,2:end)表示
- eclipse 使用lombok 出现的问题
- 关于nginx unit服务非正常关闭后,无法重新启动问题的处理
- 华为云OBS Requests specifying Server Side Encryption with KMS managed keys require Signature Version 4.
- 劲爆!群晖docker视频
- c语言 发纸牌 实验报告,“21点”纸牌游戏实验报告
- [渝粤教育] 西南科技大学 物流系统规划与设计 在线考试复习资料
- 对自己狠一点,开始写作吧
- FreeMarker 输出Boolean类型变量默认值
- 如果redis没有设置expire,是否默认永不过期?
- 用户权限影响瑞星安装
- 查看word的版本型号
- vs2010添加OCX控件并调用OCX中的函数