N 个乒乓球中有一个和其他的质量不同,用天平最少几次一定能称出来?

注:原题描述中n为999 很有趣的一道题?!知友们,问的是“最少”啊!
关注者
1,343
被浏览
328,808
登录后你可以
不限量看优质回答私信答主深度交流精彩内容一键收藏

答案是七次

@洪涛

给的文献是靠谱的,只是没有给出具体操作,具体操作在文献的参考里。

The Problem of the Pennies, F. J. Dyson, The Mathematical Gazette , Vol. 30, No. 291 (Oct., 1946), pp. 231-234

我现在把具体操作写出来:

最重要的一步是给球编码。

  • 我们取所有 7 位三进制数,共有3^7个编码,去掉所有位数都一样的情况,共有3^7-3个编码。
  • 其中有一半,首次出现邻位不同的情况是 01, 12 或 20,这样的编码叫「正序」的,否则是「逆序」的。
  • 正序码共(3^7-3)/2个。把一个正序码中的 1 换成 2,2 换成 0,0 换成 1,结果仍然是正序的。我们把可以通过这种方式相互转换的三个码作为一组。
  • 现在把正序码一组一组的分配给乒乓球。因为此题中是 999 个球,正好分完 333 组,没有不完整的组。否则还要调整。
  • 对每一个球,将其正序码中的 0 和 2 对换,得到相应的逆序码。因此每个球有两套编码。

接下来称球。

  • 在第 k 次称球中,将正序码第 k 位为 0 的 333 个球放在天平左边,正序码第 k 位为 2 的 333 个放在右边,其他球放在旁边。
  • 如果左边重,记 0。如果右边重,记 2。如果平衡,记 1。这样我们得到一个 7 位三进制码。
  • 这个三进制码编号的球就是与众不同的球,如果该码是正序的,该球较重;如果逆序,该球较轻。

下面以 6 个球举例。取 3 位三进制正序码,共 12 个。

取其中两组 (010, 121, 202) 和 (012, 201, 120),依次分配给六个球。

第一次称 010, 012 - 202, 201

第二次称 202, 201 - 121, 120

第三次称 010, 120 - 202, 012

结果举例:012 说明第四个球比较重,021 说明第五个球比较轻。

加一个 12 球的例子,见这个网页(英语)

cut-the-knot.org/blue/w

补充:

几个新答案做出 2 次最多称 4 个,3 次最多称 13 个这样的归纳。

如果需要知道次品的轻重,n 次最多称 (3^n-3)/2 个球

4 个球必须称 3 次才能确定找出坏球,并知道轻重。

我开头引用的文献严格证明了这是最优的,多于 (3^n-3)/2 无解。

如果不关心轻重,n 次最多的确可以称 (3^n-1)/2 个球,将多出的那个编号为 111...11 即可。

下载文献可能不方便,我把证明截图贴在下面。