有 1000 个一模一样的瓶子,其中有 999 瓶是普通的水,有一瓶是毒药。任何喝下毒药的生物都会在一星期之后死亡。现在,你只有 10 只小白鼠和一星期的时间,如何检验出哪个瓶子里有毒药?

用二进制0和1来表示某只老鼠喝与没喝某瓶液体。

假设第一个瓶子第一只老鼠喝了,其他老鼠都没喝,记为

0000000001

第二瓶第二只老鼠喝了,其他老鼠都没喝,记为

0000000010

.........

10只老鼠每只每瓶液体有2种情况,0和1,那就有2的10次方1024种情况

1024种情况,每个瓶子对应一种情况,1000瓶液体就对应其中1000种情况

    第一瓶:0000000001

    第二瓶:0000000010

    第三瓶:0000000011

    第四瓶:0000000100

    第五瓶:0000000101

    第六瓶:0000000110

    第七瓶:0000000111

    第八瓶:0000001000

    ...................

    第一千瓶:1111101000


假设最终1、2、5、7、10 号老鼠死亡,那么二进制为 1100101001,说明 809 号瓶子有毒。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容