12球太少,我3次能称14球,不相信?我还4次称41球,5次122球……

原创 2008年03月03日 06:21:00
本文原发表于我在JavaEye的技术部落格

流传的题目很简单,12个乒乓球(或金币之类的)其中一个是次品,重量与其他球不一样(但是不知是轻了还是重了),给一个天平,看几次可以称出来哪个球是坏球。

这个题目很久以前在大学的BBS上发表过解法,现在找不到了,重新写一遍也不费劲。

实际上是可以称14球的,下面是解法(设为A1-A14)。
注意,14球的前提是有多一个标准球A0。 否则只能称13球。

A0-A4 vs A5-A9
如果相等,则坏球在A10-A14这5个球中。

5球(重新记做A1-A5外加一个A0为标准球)的称法如下:
A0,A1 vs A2,A3
如果相等,则坏球是A4或A5,取其中一个与A0再称一次即可判断(这个不用说了,人人都知道怎么称)。
如果不等,假设A0,A1 > A2,A3(<的话,下面的判断都反一反即可),则再称一次:
A2 vs A3
如果相等,则坏球是A1,否则A1就是好球,坏球在A2、A3中,根据上一次称量结果可以判断出,坏球比标准球轻,所以A2 vs A3的结果,轻的那个就是坏球。

如果第一次称量不等,则坏球在A1-A9这9个球中,并且你知道一个不等关系,我们假设是A0-A4 > A5-A9(<的话,下面的判断都反一反即可)。

然后测A1,A2,A5 vs A3,A4,A6
如果相等,则坏球在A7,A8,A9中,并且可以推导出其中轻的那个是坏球,再称一次肯定能找出坏的那个。
如果A1,A2,A5 > A3,A4,A6
则坏球在A1,A2,A6中,并且可以推导出A1,A2 > A0,A6
反之坏球在A5,A3,A4中,并且可以推导出A5,A0 < A3,A4
不难看出这两种情况实际是等价的,只需比较两个同处一侧的球就可以判断哪个是坏球了。


如果没有标准球A0的话,那第一次称量就不能5对5了,只能4对4,所以最多只能称13个球。第一次相等的情况跟前面完全一样,如果不等,就是那 8个球有问题,比前面的9个还少一个,所以你肯定可以称出来。那么为什么常见的题目都是12球呢?估计最初流传时很少有人真正从理论(信息论)上理解这个 题,所以答案都是凑出来的,自然很难做到最优化。

但是如果掌握了理论,这个称球问题就可以推广,比如4次最多可以称量27+14=41个。前提也是你多一个标准球,这样第一次称量就是14 vs 13+1,如果相等,坏球就在剩下的14个里,就转化为了前面描述的14球称量问题。如果不等,则坏球在27个里,通过合理调配,你肯定可以把它们区别成 3组分别9个,通过一次称量判断出坏球到底是在哪9个球中。因为一次称量有3种状态,可以把一堆球分成3组。以下每次都是3组1分,所以27=3的3次方 就是表示3次称量就可以区分出来了。

不难看出,如果5次的话,可以最多称量27*3+41=122个,以下可以逐级类推,有兴趣的同志可以求出它的公式。

最后是一个思考题,既然可以3个一组分,为什么3次称量只能称14个而不是27个呢?

有12个球,称3次找出那个异常球,并判断轻重

首先,把12个小球分成三等份,每份四只。 拿出其中两份放到天平两侧称(第一次) 情况一:天平是平衡的。 那么那八个拿上去称的小球都是正常的,特殊的在四个里面。 把剩下四个小球拿出三个放...
  • parcel8437
  • parcel8437
  • 2013年02月28日 13:57
  • 1215

C语言 12个球称3次 找出其中一个坏球

#include #include #include #include /* 12个球 其中有一个球是坏球,坏球特征:可能较重,可能较轻,但是重量不与好球相等 请用if else...
  • Long_Road66
  • Long_Road66
  • 2016年10月06日 23:31
  • 647

经典智力题解法:十二个乒乓球称重三次

题目:有十二个大小、形状都相同的乒乓球,要求用没砝码的天秤称三次,找出其中唯一的异常球,并且知道它是重了还是轻了。 思路: 第一种: a: 4   b:4   c:4 第一步 ab相比...
  • u013291076
  • u013291076
  • 2015年04月28日 09:15
  • 1386

香农信息论与毒药称球问题

http://9yls.net/16959.html 如果从‘信息’的角度来分析某些问题,可以使你更登高望远,对问题能有更深层的理解,更容易融合各学科的间隙,达到借他山之石而攻玉的效果。 ...
  • legend_x
  • legend_x
  • 2014年01月20日 11:29
  • 1536

现有十二个小球,其中一个球的重量与其它十一个的重量不相同,但不知道是轻还是重。试用天平称三次,把这个非标准球找出来,并指出它比标准球是轻还是重。

现有十二个小球,其中一个球的重量与其它十一个的重量不相同,但不知道是轻还是重。试用天平称三次,把这个非标准球找出来,并指出它比标准球是轻还是重。 要求: a). 自行定义输入输出形式/格式,用嵌套...
  • u012856342
  • u012856342
  • 2015年03月21日 20:12
  • 812

天平称球问题(二)

12球的问题看似解决了,但是120球称5次呢?下面我将解释一些原理,给大家提供参考,这样以后无论遇到多少个球,你都能知道最少需要多少次了。 下面的证明有很多不严密的地方,请指正。   原理0 ...
  • gogdizzy
  • gogdizzy
  • 2012年06月23日 14:35
  • 2798

13个球一个天平,现知道只有一个和其它的重量不同,问怎样称才能用三次就找到那个球?

13个球一个天平,现知道只有一个和其它的重量不同,问怎样称才能用三次就找到那个球?   4--4称一次,如果平衡,就在另5个中,拿3个正常的与5个中的三个对比,如果相等,在剩余两个中,拿正常的一个...
  • jQuerys
  • jQuerys
  • 2015年09月03日 22:19
  • 1333

google面试题--天平称球

问题如下: There are 8 balls. Seven of them weigh the same, but one is heavier. Using a balance scale, h...
  • x313695373
  • x313695373
  • 2012年08月25日 15:16
  • 1272

12个小球,1个小球与其他的质量不同,如何称最少次判断是哪个小球?

在n个外观完全相同的小球中,有一个与其它球重量不同。如何只用一架天平找到这个球并判断它比其它球轻还是重?最少需要称几次? 这是一个流传极广的经典问题,在网上随便一搜就会发现无数人都提出了自己的见...
  • lingzhm
  • lingzhm
  • 2015年04月17日 10:58
  • 900

从8个球中,至多称两次找出最轻的一个

有一个天平,8个外观相同的小球,其中7个质量相同,1个较轻。最多称两次,找出较轻的那个小球。 第一次称的时候,天平两边各放3个球,剩余2个球。 如果天平平衡,说明较轻的球在剩余的两个球中,...
  • csulfy
  • csulfy
  • 2017年02月20日 21:52
  • 1094
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:12球太少,我3次能称14球,不相信?我还4次称41球,5次122球……
举报原因:
原因补充:

(最多只允许输入30个字)