老鼠喝毒水问题

问题1:有1000瓶外表一样的水,其中一瓶里面有毒药,老鼠喝下毒药1天内会死,求怎样在一天内用最少的老鼠数量判断哪瓶水有毒。

答:10只老鼠。用一天的时间就是说只做一轮实验,瓶子用编号0~999(用10位2进制数,即0000000000,0000000001,0000000010……,这样瓶子的编号从右往左分别为0号位、1号位……一共10个位),给老鼠编号0~9,i号老鼠喝下所有i号位为0的瓶子的水,这样如果有i号老鼠死了(真残忍T_T)就知道毒药的i号位为0,没死则为1,就得到了瓶子的编号。

问题2:有1000瓶外表一样的水,其中一瓶里面有毒药,老鼠喝下毒药1天内会死,求怎样在k天内用最少的老鼠数量判断哪瓶水有毒。

答:光说怎么做实验好了。假设答案是用了x只老鼠(编号0~x-1),用k天则可做k轮实验,用k进制给0~999号瓶子编号,第一轮i号老鼠喝下i位为0的瓶子的水,如果j号位老鼠死了,则毒药的j号位为0,。第二轮,i号位老鼠继续喝下i号位编号为1的瓶子的水(当然死老鼠就没办法喝水了),如果j号位老鼠死了,则毒药的j号位为1,如次进行k轮实验即可。


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值