面试题:8个试剂,其中一个有毒,最少多少只小白鼠能检测出有毒试剂

原创 2017年09月05日 21:08:41

面试题:8个试剂,其中一个有毒,最少多少只小白鼠能检测出有毒试剂

方法1:

用3只小鼠,能组合成8种状态。

  • 第一只喂食【1、3、5、7】四只试剂
  • 第二只喂食【2、3、6、7】四只试剂
  • 第三只喂食【4、5、6、7】四只试剂
# [3、2、1]
0 0 1 = 1  # 2、3没死,1死了,说明第1支试剂有毒
0 1 0 = 2  # 1、3没死,2死了,说明第2支试剂有毒
0 1 1 = 3  # 3没死,1、2死了,说明第3支试剂有毒
1 0 0 = 4  # 1、2没死,3死了,说明第4支试剂有毒
1 0 1 = 5  # 2没死,1、3死了,说明第5值试剂有毒
1 1 0 = 6  # 1没死,2、3死了,说明第6值试剂有毒
1 1 1 = 7  # 三只都死了,说明第7值试剂有毒
0 0 0 = 0  # 三只都没死,说明第8值试剂有毒

方法2:

二分法,每次把试剂分成两堆,然后用两只小鼠测试,如果一只死掉了,那么就能确定哪一堆有毒。然后继续分。因此,小鼠的数量就是试剂能被二分的次数。8只试剂能被二分3次,所以就需要3值小鼠。

这里写图片描述

版权声明:拥抱开源,欢迎转载,转载请保留原文链接~ 举报

相关文章推荐

RecyclerView实现悬浮吸顶

使用RecyclerView实现悬浮吸顶效果

[算法]列车算法

一、    问题陈述 假设停在铁路调度站入口处的车厢序列的编号一次为1,2,3,4。设计一个程序,求出所有可能由此输出的长度为4的车厢序列。 二、    问题分析与设计 车厢调度问题是实际生活中的一个...

我是如何成为一名python大咖的?

人生苦短,都说必须python,那么我分享下我是如何从小白成为Python资深开发者的吧。2014年我大学刚毕业..

Android设计模式学习之观察者模式

观察者模式在实际项目中使用的也是非常频繁的,它最常用的地方是GUI系统、订阅——发布系统等。因为这个模式的一个重要作用就是解耦,使得它们之间的依赖性更小,甚至做到毫无依赖。以GUI系统来说,应用的UI...

客户端(手机端)掉线或者强制退出,netty服务端如何捕获到

如果客户端,比如手机,发生断网、强制退出、正常退出等各种情况,服务端希望都捕捉到; 实现方法: 1. ChannelHandlerAdapter 继承ChannelHandlerAdapter,并被...

Netty中处理写序列化异常

writeAndFlush之后既不能在inbound的exceptionCaught也不能在outputbound的exceptionCaught中拿到异常(这两个应该只处理channelRead,c...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)