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

通过使用10只老鼠和二进制编码的方法来确定1000瓶水中哪一瓶是有毒的。每只老鼠会被指定饮用一组特定编号的水样,如果某只老鼠死亡,则表示其饮用的水中含有毒水。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

二进制
第一只老鼠喝第 XXXXXXXXX1 瓶水 为1、3、5、7..999一共500瓶
第二只老鼠喝第 XXXXXXXX1X 瓶水 为2、3、6、7...
...
第十只老鼠喝第1XXXXXXXXX 瓶水 为512、513....到最后的水

最后第几只死了就把那位记成1,得到的10位2进制数就是那瓶水


其他:http://www.zhihu.com/question/19676641

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值