12个乒乓球的难题 称球问题

oldj
  • 点击:2428
  • 回复:3
  • 关注:3
  • 推荐:4
有12个乒乓球,其中有一个不合规格,但不知是轻是重。要求用天平称三次,把这个坏球找出来,怎么找?

标签: 称球

回复列表

mayahu
1
  天平称重,有两个托盘比较轻重,加上托盘外面,也就是每次称重有3个结果,就是ln3/ln2比特信息。n个球要知道其中一个不同的球,如果知道那个不同重量的球是轻还是重,找出来的话那就是n个结果中的一种,就是有ln(n)/ln2比特信息,如果不知道轻重,找出来就是2n(n个球中的一个,轻或者重,所以是2n)个结果中的一种,那就是ln(2n)/ln2比特信息。 
  假设我们要称k次,根据信息理论,那显然两种情况就分别有: 
  (1)k*ln3/ln2>=ln(n)/ln2 (k>=1) 解得k>=ln(n)/ln3 
  (2)k*ln3/ln2>=ln(2n)/ln2 (k>1) 解得k>=ln(2n)/ln3 
  这是得到下限,可以很轻易证明满足条件的最小正整数k就是所求。比如称3次知道轻重可以从3^3=27个球中找出不同的球出来,如果不知道轻重就只能从(3^3-1)/2=13个球中找出不同的球出来。 

  第一次称取[3^(k-1)-1]个球放在天平天平两端,则:
  如果平衡,获得[3^(k-1)-1]个标准球,坏球在剩下的[3^(k-1)+1]/2个中。由于 [3^(k-1)-1]>=[3^(k-1)+1]/2,(k>=2),即已知的标准球数不小于未知球数? 所以在以后的测量中就相当于任意给定标准球的情况,可知对于[3^(k-1)+1]/2的情况(k-1)次可解。
  如果不平衡,大的那方记做A,小的那方记作B。标准球记做C,则现在我们有[3^(k-1)-1]/2个A球和B球,有[3^(k-1)+1]/2个C球。

  第二次用3^(k-2)个A球加[3^(k-2)-1]/2个B球放左边? 3^(k-2)个C球加[3^(k-2)-1]/2个A球放右边。
  如果左边大于右边,则说明是在左边的3^(k-2)个A球中质量大的为坏球;
  如果左边等于右边,则说明是在第二次称时没用的3^(k-2)个B球中质量轻 的为坏球。以上两种情况都可以再用三分法(k-2)次解决,加上前两次共k次解决。
  如果左边小于右边,则坏球在左边的[3^(k-2)-1]/2个B球中或在右边的同样 数目的A球中。
  此时的情况和第二次开始时类似(只不过是k-1变成k-2)。

  用相同的办法一直往下追溯到一个A球和一个B球一次区分的情况,这时只需拿A球和标准球比较以下就行了。因此在这种情况下也是可以最终用k次解决的。
andy
2
首先,左右各4球,若平衡,则在剩余中,再取2好球和2剩余球称,比较即可。
若不平衡,则剩余的皆位好球,可选择如下:
新左盘=原左3球+右盘1球
新右盘=原左盘1球+3好球
以后同前。
pythonwoo
3
①②③④⑤⑥⑦⑧⑨⑩⑾⑿
第一次:①②③④和⑤⑥⑦⑧称,


A,若平,则次品是⑨⑩⑾⑿之一;
第二次:⑨⑩和①②称,
a,若平,则次品是⑾⑿之一;
第三次:⑾和①称,若平,则⑿是次品;若不平,则⑾是次品。

b,若不平,则次品是⑨⑩之一;
第三次:⑨和①称,若平,则⑩是次品;若不平,则⑨是次品。




B,若不平,①②③④边重,则次品是①②③④之一(次品比正品重),或⑤⑥⑦⑧之一(次品比正品轻);
第二次:①②⑤和③④⑥称,
a,若平,则次品是⑦⑧之一;
第三次:⑦和⑨称,若平,则⑧是次品;若不平,则⑦是次品。

b,若不平,①②⑤边重,则次品是①②之一(次品比正品重),或⑥(次品比正品轻);
第三次:①和②称,若平,则⑥是次品;若不平,则①②中重者为次品。

c,若不平,③④⑥边重,则根据以上方法同样可得次品。


C,若不平,⑤⑥⑦⑧边重,则根据以上方法同样可得次品。

回复

只有登录用户可以添加回复,请先 登录注册