【智力题】有 1000 瓶药物,但是其中有一瓶是有毒的,小白鼠吃了一个星期以后就会死掉!请问,在一个星期内找出有毒的 药物,最少需要多少只小白鼠?

答案是10只

本题采用了二进制的思想

小白鼠的生与死可以看作二进制的0和1。
用10只小白鼠,也就是10个二进制位,最多可以表示1024个数。

编号环节

先给药水从001到1000编号,每个药水编号转化成二进制。(如下图)
在这里插入图片描述

给小白鼠按照二进制位数编号a b c d e f g h i j。其中a对应二进制最高位,j对应最低位。
在这里插入图片描述

喝药环节

每个药品的二进制编号中,为一的位数对应的小白鼠要喝此药
在这里插入图片描述
比如编号为001的药水,对应二进制位00000 00001,则j号小白鼠要喝001编号药;

编号为029的药水,对应二进制位00000 11101,则fgh j号小白鼠要喝029编号的药(j号小白鼠要同时喝下001和029编号的药);

编号为999的药水,对应二进制位11111 01000,则abcde hij号小白鼠要喝999编号的药。
每个编号的药水都有对应的小白鼠喝,同样的每个小白鼠也要喝不同编号的药。

结果环节

一周后,最后看哪些小白鼠死了,死了的小白鼠代表其二进制位为0,活着的就是1,按照编号转化成十进制就可以找到有毒的那一瓶。

比如,h和j小白鼠死了,其二进制就是00000 00101,转化成十进制就是005,则编号为005的药水是有毒的。
如果,abcd fg号小白鼠都死了,其对应的二进制就是11110 11000,转换成十进制就是984,则编号为984的药水是有毒的。

总结

本方法虽然能利用二进制,用很少的小白鼠测出了1000瓶药水中有毒的那一瓶,但是本方法也只是理论上有用,实际操作可能并不可行。

因为药品发挥毒性一定是需要一定计量的,这10只小白鼠每一只都摄入数十份甚至上百份的药品计量,例如最低位 i 号小白鼠需要服用500份的药品计量,如此,即便500份都没毒,撑也撑死了

所以,理论是理论,实践是实践。正经测毒性还是要用更多的小白鼠,或者采用化学成分分析等方式测毒。

  • 25
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 10
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值