2017lol冠军皮肤:有12个鸡蛋,其中有一个是坏的,坏蛋不知道比好蛋是重还是轻,如何用天平称3次就找出坏蛋?

来源:百度文库 编辑:高校问答 时间:2024/04/29 21:54:19

首先,把鸡蛋编上号,从1到12,以便叙述算法。在用天平进行称量的时候,每一次都可能有三种结果,分别是:左盘比右盘重,左盘比右盘轻,以及左右平衡。用0、1、2三个数来表示这三种状态,那么所有的结果都可以编码为三进制的数。题目规定可以称3次,那么一共可能出现3×3×3=27种组合,也就是要用3位三进制数来表示。这27个三进制数一共可以指示出27个“坏蛋”可能存在的位置。而12个鸡蛋中有一个“坏蛋”,那么只有12个可能的位置。加上坏蛋到底比好蛋重还是轻不清楚,所以这两种可能都必须考虑,那么一共只有12×2=24个“坏蛋”可能存在的位置。24<27这是很显而易见的事,所以说,12个鸡蛋,称3次完全能找出那个“坏蛋”。就算是13个鸡蛋,有13×2=26种可能,但26<27,仍能找出那个“坏蛋”。
  解题的方法很简单,把编上号的鸡蛋,按一定的顺序分成3堆。每次都把第一堆放在左盘上,第二堆放在右盘上进行称量,记录上称量的结果。然后按合适的原则重新另外分组,再称。如此重复3次,就可以得到唯一确定的称量结果码。对照一个真值表,就可以找到“坏蛋”的序号,并且“坏蛋”到底比“好蛋”重还是轻也可以知道。
  那么,分堆的方法是什么?只要每种称量结果码都是唯一的就可以了,我采用了如下的分堆原则:
  第一堆 第二堆 第三堆
  第一次: 1 2 3 4 5 6 7 8 9 10 11 12
  第二次: 1 2 5 9 3 6 10 11 4 7 8 12
  第三次: 1 9 10 12 2 3 4 7 5 6 8 11

  至于如何来找到一个合适当分堆方法,感兴趣的请接着往下看:
  前面提到了,只要能使每个结果码唯一,分堆的方法就是可用的。方法不止一种,我们只需要其中的一个就足够了。为此假设“坏蛋”是个偏重的蛋,先找出12个三进制码。由于没有别的限制条件,任取12个码就是。
  然后假设“坏蛋”是个偏轻的蛋。这时原来结果是0的码位将会变成1,原来是1的码位会变成0,而2不变。也就说偏重时的结果码210,若改为偏轻的话,码会变为201。为了区别清楚坏蛋到底是偏重还是偏轻,必须明确区分这两种码。我们把这种码对称为“0-1镜像码对”。显然,假设“坏蛋”偏重时选的那12个码中,不能同时出现“0-1镜像码对”的两个码,否则就无法把偏重的情况和偏轻的情况区分开来。而且222这个码由于没有“0-1镜像码”,不能参与选择,必须把它排除在外。这样就只有26个码可供选择了。
  一个3位三进制码的每一位的值都代表了一次称量的结果。坏蛋出现在第一组的可能只有4种,因为第一组只有4个蛋。所以结果码中某一位上0出现的次数只能是4次,同理,1和2也只能出现4次。因此在选择码的时候得注意使0、1、2在每位上都出现4次。若不符合,可通过把一个码替换成它的“0-1镜像码”来解决。通过一次或多次的替换,最终可以找到一些满足以上所有条件的码的组合,这实际上就是我们所需要的结果真值表。根据结果码倒推出分组方法应该不难,只要确定哪些数字在哪组内就可以了。

其实,科学地说要想不打破鸡蛋来分别好蛋坏蛋,应该是不现实的。不管用什么方法,都只能是概率大小的问题,不可能有百分之百的把握。

我会,不过推理太复杂,我不想写。
不过可以肯定是可以判断的,楼上的那位是sha bi

看了网上的回答,很多都不正确,比如(回答者:花开早 - 试用期 一级)的答案,明显的不可能只是称三次,如果说成是称了三次很明显每一次又分了好几次称的。
我的答案:
把12个蛋用1-12来表示,并分成三堆(1234)(5678)(9101112)。一:用第一堆和第二堆比较。假如两堆一样重,那么坏蛋在第三堆中。再把第三堆分成两堆(910)(1112),用其中一堆和(56)比较,假如用(910),如果一样重那么再把5拿下来换上11,如果还一样重就说明12是坏蛋,如果不一样了就说明11是坏蛋。如果910和56不一样重那么坏蛋在910中,这时只需再用一个好蛋替换9,如果一样了就说明9是坏蛋,还不一样10就是坏蛋!
二:假如第一堆和第二堆不一样重,那么说明第三堆都是好蛋而坏蛋在第一和第二堆中。首先记录下哪堆偏重些
1:在这里我们先假设第一次称量时(1234)比(5678)重,那么我们就用(1678)比较(591011),如果还是(1678)重那么坏蛋就是1活5,此时用1比较12,如果一样就说明5是坏蛋,不一样就是1。如果在第一次称量中1234比5678轻,那么结果就相反。比好蛋轻的就是坏蛋,相同的就是好蛋。也是只要把1或5和好蛋比较一次就能排除其中一个。
2:如果(1678)和(591011)一样重,那么坏蛋234中,并且知道这个坏蛋是比一般蛋重或是轻,(1234)比(5678)重那么坏蛋就重,如果轻则坏蛋就轻。此时只需对比其中任意两个,如果其中两个一样那么坏蛋就是第三个,如果不一样,而上面的测试中(1234)比(5678)轻那么选择轻那个就是坏蛋,如果重那么重的就是坏蛋!

没办法判断

用天平,最少三次,多了也可以找出坏蛋