1. 问题描述
有一批芯片(n片),里面有好芯片有坏芯片,我们不知道哪片是好的哪片是坏的,只知道里面的好芯片一定比坏芯片至少多出一片。
现在有一个检测设备,同时将两片芯片放进去,它们会各自报告对方的情况,好芯片的报告结果一定是真实的,坏芯片的报告结果是不确定的(有可能是真实的,也有可能是假的)。会有这样的报告结果:
芯片A的报告 | 芯片B的报告 | 结论 |
---|---|---|
好 | 好 | AB都好或者都坏 |
好 | 坏 | 假如两个都是好的,显然矛盾了,因此至少有一个坏的 |
坏 | 好 | 同上,至少有一个坏的 |
坏 | 坏 | 反证,可得至少一个是坏的 |
现在要求从这批芯片中挑出一个好的芯片。
从这批芯片当中随便挑出一个芯片,用剩下的芯片挨个去和它进行检测。
当n为偶数时:
待测试芯片 | 其余芯片(奇数个) |
---|---|
好芯片 | 剩余芯片中好芯片的个数仍然会比坏芯片至少多一片,因此将会有超过一半的芯片报告是好芯片 |
坏芯片 | 同上,有超过一半的芯片报告是坏芯片 |