经典智力题-试验

题目

小白鼠

有1000个一模一样的瓶子,其中有999瓶是普通的水,另一瓶是无色无味毒药。只要有微量毒药进入生物体内都会导致其在一星期之后死亡。现在,只允许你利用10只小白鼠和一星期的时间,如何检验出哪个瓶子里有毒药?

金币

有10袋金币,但其中有一袋金币全是假的,已知一枚真金币10g,一枚假金币比真金币少1g。现在有一个电子秤可以称出物体的重量,秤范围和精度均足够,最少需要称几次才能知道哪袋是假金币?

天平

12个外观一致的小球,其中11个质量一致,1个质量稍稍不同。用一个无刻度的天平,能否只称3次找到这个小球?

解答

小白鼠

只利用10只小白鼠做实验,一个可行的想法是给每只小白鼠注射若干瓶中的液体,如果我们能巧妙的规划每个小白鼠注射哪几瓶的液体,那么就可以根据小白鼠的死亡情况推出哪瓶液体有毒。
我们先来看看这个思路是否可行:10个小白鼠一共能表达多少种不同的情况。一周后,每个小白鼠只有两种情况,生存或死亡,所以10个小白鼠一共有2^{10}=1024种情况。而1000瓶液体中只有一瓶有毒,只有1000种情况。所以用10个小白鼠的死活情况表达毒药的所有情况是非常有可能的。
我们将小白鼠的死亡情况和哪瓶是毒药的情况一一对应,就能反推出一个可行的注射方案。

死亡情况 哪瓶是毒药的情况 注射方案
1号小白鼠死亡 1号瓶有毒 1号瓶注射给1号小白鼠
2号小白鼠死亡 2号瓶有毒 2号瓶注射给2号小白鼠
3号小白鼠死亡 3号瓶有毒 3号瓶注射给3号小白鼠
4号小白鼠死亡 4号瓶有毒 4号瓶注射给4号小白鼠
5号小白鼠死亡 5号瓶有毒 5号瓶注射给5号小白鼠
6号小白鼠死亡 6号瓶有毒 6号瓶注射给6号小白鼠
7号小白鼠死亡 7号瓶有毒 7号瓶注射给7号小白鼠
8号小白鼠死亡 8号瓶有毒 8号瓶注射给8号小白鼠
9号小白鼠死亡 9号瓶有毒 9号瓶注射给9号小白鼠
10号小白鼠死亡 10号瓶有毒 10号瓶注射给10号小白鼠
1、2号小白鼠死亡 11号瓶有毒 11号瓶注射给1、2号小白鼠
1、3号小白鼠死亡 12号瓶有毒 12号瓶注射给1、3号小白鼠
……

虽然有些麻烦,但终究能得到一个可行方案。当然,利用二进制的一些性质,我们也有办法得到一个更优雅的方案。
将每个瓶子的编号转换成二进制,在前面补0直到其拥有10位,将这10位和10个小白鼠对应,0代表不注射,1代表注射。
比如对于编号400,转为二进制0110010000,这表示给2、3、6号小白鼠注射第400号瓶中的液体。
一周后,将小白鼠死亡情况写成二进制,再转回十进制便是有毒的瓶子的编号。

金币

哪一袋为假金币只有10种可能性,而电子秤的称一次得到读数结果的可能性肯定远大于10,我们完全可以试试一次称出来。
从第1个袋子中取1枚金币,第2个袋子中取2枚金币,第3个袋子中取3枚金币……
如果全是真的,总重应为 10g×(1+2+…+10)=550g。所以如果实际称重结果少1g,意味着第1袋金币是假的;如果实际称重结果少2g,意味着第2袋金币是假的……

天平

蛮经典的题目,除了这题,还有简单版本的9个球或已知质量有问题的球是轻还是重。
每次称重的结果有3种,左边重、右边重、一样重。称3次一共有3^3=27中可能性。而质量不同的小球可能轻或重,这是两种可能,其编号有12中可能,共2×12=24种可能。24<27,这说明是有可能找到可行方案的。
为了能在三次内找到这个小球,我们需要高效的方案。我们期望每次称完,都能排除2/3的可能性,即:第一次称完,只剩下8种可能;第二次称完,剩下2至3种可能;最后一次就能找到结果。
大家可以先尝试思考一下再继续看。

将球分成3组,每组四个,编号:(ABCD)(EFGH)(IJKL)。这样第一次称重完刚好排除2/3的可能性,其他方式的分组不能达到这种效率。
(ABCD)和(EFGH)称重,有三种情况:

  • ABCD > EFGH:剩下A重、B重、C重、D重、E轻、F轻、G轻、H轻8种情况。
    • 我们希望,下一次称完,能将可能性减少到2至3个。显然称重的素材应该从A-H中选。如果从中选取4个球,一边两个进行称重,那么一旦天平平衡,意味着有问题的球在剩下的4个球中,即剩下4种可能,这不符合我们的期望。继续思考发现可以从中选取6个球,一边3个进行称重,这样一旦天平平衡,意味着有问题的球在剩下的2个球中,即剩下2种可能。通过精心挑选小球并设计摆放位置,可以让天平在向左或向右倾斜时,都只剩下3种可能。
      (ABE)和(CDF)称重:
      • ABE > CDF:剩下A重、B重、F轻3种情况。
        • A、B称重即可。
      • ABE < CDF:剩下C重、D重、E轻3种情况。
        • C、D称重即可。
      • ABE = CDF:剩下G轻、H轻2种情况。
        • G、H称重即可。
  • ABCD < EFGH:剩下A轻、B轻、C轻、D轻、E重、F重、G重、H重8种情况。
    • 和前面的类似,略
  • ABCD = EFGH:剩下I重、J重、K重、L重、I轻、J轻、K轻、L轻8种情况。
    • 如果我们将IJKL全用上,一边两个进行称重,显然不会出现平衡的情况,这导致一种可能性被浪费。如果我们从中挑取两个球进行称重,一旦天平平衡,就剩下了4种情况,也不行。我们可以从中选取3个球,再加入一个已知没有问题的小球,进行称重。
      (AI)和(JK)称重:
      • AI > JK:剩下I重、J轻、K轻3种可能。
        • J、K称重即可。
      • AI < JK:剩下I轻、J重、K重3种可能。
        • J、K称重即可。
      • AI = JK:剩下L重、L轻2种可能。
        • A、L称重即可。
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容