面试题: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值小鼠。

这里写图片描述

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

相关文章推荐

1000瓶试剂,其中一瓶有毒,最少需要多少只小白鼠能找出有毒的试剂

题目: 1000瓶试剂,其中有1瓶有毒,如果小白鼠服用有毒的药,则24小时后死亡。要求使用尽可能少的小白鼠,在24小时内找出有毒的药。思路: 这是一道典型的二分法查...

1000瓶药有1瓶有毒,需要多少只小白鼠才能试验找出

问:1000瓶药有1瓶有毒,如果小白鼠服用有毒的药,则24小时后死亡。现在需设计一种策略,使用尽可能少的小白鼠,在24小时内找出有毒的药。 思路: 可以先考虑简单的情况: 喝了毒药之后马上...

给定A, B两个整数,不使用除法和取模运算,求A/B的商和余数

给定A, B两个整数,不使用除法和取模运算,求A/B的商和余数。 1.   最基本的算法是,从小到大遍历: for (i = 2 to A -1)          if (i * B > A)...

利用K-means聚类算法根据经纬度坐标对中国省市进行聚类

K-means聚类算法是一种非层次聚类算法,在最小误差的基础上将数据划分了特定的类,类间利用距离作为相似度指标,两个向量之间的距离越小,其相似度就越高。程序读取全国省市经纬度坐标,然后根据经纬度坐标进...

Radon变换理论介绍与matlab实现--经验交流

本人最近在研究Radon变换,在查阅了各种资料之后在此写下个人的理解,希望与各位牛牛进行交流共同进步,也使得理解更加深刻些。 Radon变换的本质是将原来的函数做了一个空间转换,即,将原来的XY平...

CT图像重建技术

由于csdn贴图不方便,并且不能上传附件,我把原文上传到了资源空间CT图像重建技术 1.引言 计算机层析成像(Computed Tomography,CT)是通过对物体进行不同角度的射线投影测量而...

Matlab绘图-很详细,很全面

Matlab绘图强大的绘图功能是Matlab的特点之一,Matlab提供了一系列的绘图函数,用户不需要过多的考虑绘图的细节,只需要给出一些基本参数就能得到所需图形,这类函数称为高层绘图函数。此外,Ma...

linux查找目录下的所有文件中是否含有某个字符串

查找目录下的所有文件中是否含有某个字符串  find .|xargs grep -ri "IBM"  查找目录下的所有文件中是否含有某个字符串,并且只打印出文件名  find .|xargs g...

Radon变换入门matlab CT原理

http://hi.baidu.com/hi9394/blog/item/0d492b8bfd714700c8fc7aa9.html 简介 图像投影,就是说将图像在某一方向上做线性积分(或理解为累...

Excel2016右键新建工作表,打开时提示“因为文件格式或文件扩展名无效。请确定文件未损坏,并且文件扩展名与文件的格式匹配。”的解决办法

上午新建excel工作表时,发现新建完之后居然打不开 提示: 尼玛这坑爹的,难道我的Excel坏了?? 排查问题之后发现 只有新建“Microsoft Excel 工作表”时...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:面试题:8个试剂,其中一个有毒,最少多少只小白鼠能检测出有毒试剂
举报原因:
原因补充:

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