逻辑题 --检测8瓶试剂中的有毒试剂

题目:现在由8瓶试剂,其中有一瓶有毒,现在用小白鼠来检测出有毒的试剂,小白鼠注射之后一小时之内必死亡,现在需要在一小时之内找出这瓶有毒试剂,问最少需要多少只小白鼠。

分析:这是一个计算机二进制的经典问题,首先从简单一点的入手

1:假设只有2瓶试剂,其中一瓶有毒,那么是不是只需要一只小鼠就能检测出来了,将其中一瓶试剂注射给小鼠,如果小鼠死亡,那么此试剂有毒,反之,则另外一瓶有毒,用表格的形式表示:

试剂  /  小鼠小鼠1
试剂1注射
试剂2不注射

如果小鼠1死亡,那么试剂1有毒;

如果小鼠1不死亡,那么试剂2有毒;

2:假设只有4瓶试剂呢,也按照表格的形式:

试剂  /  小鼠小鼠1小鼠2
试剂1不注射不注射
试剂2注射不注射
试剂3不注射注射
试剂4注射注射

 

如果小鼠1,2都不死亡,那么试剂1有毒;

如果小鼠1死亡,小鼠2不死亡,那么试剂2有毒;

如果小鼠1不死亡,小鼠2死亡,那么试剂3有毒;

如果小鼠1,2都死亡,那么试剂4有毒。

3:那么有8瓶试剂呢,也按照表格的形式:

试剂  /  小鼠小鼠1小鼠2小鼠3
试剂1不注射不注射不注射
试剂2不注射不注射注射
试剂3不注射注射不注射
试剂4注射不注射不注射
试剂5不注射注射注射
试剂6注射不注射注射
试剂7注射注射不注射
试剂8注射注射注射

如果小鼠1,2,3都不死亡,那么试剂1有毒;

如果小鼠1,2不死亡,小鼠3死亡,那么试剂2有毒;

如果小鼠1,3不死亡,小鼠2死亡,那么试剂3有毒;

如果小鼠2,3不死亡,小鼠1死亡,那么试剂4有毒;

如果小鼠2,3死亡,小鼠1不死亡,那么试剂5有毒;

如果小鼠1,3死亡,小鼠2不死亡,那么试剂6有毒;

如果小鼠1,2死亡,小鼠3不死亡,那么试剂7有毒;

如果小鼠1,2,3全死亡,那么试剂8有毒。

总结:这就是一个二进制的问题:

2^1 = 2,所以两瓶试剂的话用一只小白鼠就够了;

2^2 = 4,所以4瓶试剂的话需要两只小白鼠;

2^3 =8,所以8瓶试剂的话需要3只小白鼠;

以此类推,16瓶试剂的话需要用4只小白鼠。。。

是不是很有趣呢?

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值