称药问题(外一篇:毒酒问题)

  问题一:现在有10瓶药,合格的药每颗10克,但是有1瓶中的药不合格,每颗9克。问:称1次如何辨别哪瓶是不合格的?

  答:将药瓶编号1,2,3...10,分别从中取1颗、2颗、3颗...10颗。共计55颗,用称称重,如果是正常的话,重量应为550克。如果比550克少1克,则是1号瓶不合格。如果少2克,则2号瓶不合格,依此类推。

  问题二:现在有10瓶药,合格的药每颗10克,但是有其中的某几瓶中的药不合格,每颗9克。问:称1次如何辨别哪瓶是不合格的?

  答:不能用问题一的解法,如果比550克少6克,那么可能是6号瓶不合格,也可能是2号和4号瓶皆不合格,也可能是1号和5号瓶皆不合格。此时我们应该考虑使比550克轻的克数对应唯一的药瓶的编号。所以我们将药瓶编号1,2,3,4...10,分别从中取1颗、2颗、4颗、8颗……512颗(取的颗数以2为底,瓶的编号减1为幂次)。那么一共1023颗,如果正常的话,重量应为10230克。如果比10230克少1克,则是1号瓶不合格。如果少2克,则2号瓶不合格。如果少3克,则1号和2号瓶皆不合格。如果少4克,则3号瓶不合格。我们以二进制将比10230克少的克数编码,如果少100克,对应二进制为1100100,则3号、6号和7号瓶皆不合格。依此类推。最后,如果比10230克少1023克,1023对应二进制数1111111111则所有的药瓶都是不合格的。

  问题二让我想起了2013年11月,那时刚学了两个月的计算机。有一天晚上,羽哥问我,如果现在有8杯酒,其中有某几杯是毒酒,现在你有小白鼠可以拿来测试,如果小白鼠喝了毒酒,就会死去,否则没事。请问最少用几只小白鼠就可以完成任务?

  这个问题的答案与问题二的答案是相似的。将酒杯编号0号、1号、2号……7号,对应的二进制编码为000, 001, 010, 011, 100, 101, 110,  111。那么在试验中,000表示没有老鼠喝这杯酒,001表示第一只老鼠喝这杯酒,其他老鼠不喝。010表示第二只老鼠喝这杯酒,其他老鼠不喝。011表示第一只和第二只老鼠都喝这杯酒,第三只老鼠不喝。100表示第三只老鼠喝这杯酒,其他老鼠不喝……111表示三只老鼠都喝了这杯酒。那么我们用了3只老鼠,就把8杯酒都唯一地标识了出来。如果000有毒,则没有老鼠死去。如果001有毒,则第一只老鼠死去,其余两只活着。如果010有毒,则只有第二只老鼠死去。如果011有毒,则第一只和第二只老鼠死去。如果100有毒,则第三只老鼠死去……如果111有毒,则三只老鼠全部死去。

  问题二和毒酒问题都对应着编码问题。小白鼠的数量3只,足以编码8个状态,辨别8瓶酒各自的状态(log28=3)。

  给毒酒问题找到两张图,也许能够更形象地说明这个问题:

  这两张图就说明了老鼠A,B,C去试7杯毒酒的过程,我们能从Figure 1.1 中看到每只老鼠对应哪些毒酒。而Figure 1.2 则给出了每个酒杯的编码(当然这里的酒杯是7个,编码也与我们上面的讨论有少许不同)。

  图片出自密歇根大学的一篇论文:Pooling Designs for High-Throughput Biological Experiments.

时间: 2024-08-29 18:04:02

称药问题(外一篇:毒酒问题)的相关文章

WEB安全番外第二篇--明日之星介绍HTML5安全问题介绍

一.CORS领域问题: 1.CORS的介绍请参考:跨域资源共享简介 2.HTML5中的XHR2级调用可以打开一个socket连接,发送HTTP请求,有趣的是,上传文件这里恰恰是multi-part/form-data恰恰符合要求,不需要preflight,所而且可以带cookie等认证信息.完美的绕过了所有的跨域共享防御机制. 1 <script language=javascript type=text/javascript> 2 functiongetMe() 3 { 4 varhttp;

诗经 全文

诗经 全文 (带注释和译文) http://www.edu009.com/Article/HTML/Article_60756.html <诗经> 春秋·孔丘 <诗经>是我国第一部诗歌总集,先秦时代称为“诗”或“诗三百”,孔子加以了整理.汉武帝采纳董仲舒“罢黜百家,独尊儒术”的建议,尊“诗”为经典,定名为<诗经>. <诗经>现存诗歌 305 篇,包括西周初年到春秋中叶共 500 余年的民歌和朝庙乐章,分为风.雅.颂三章. “风”包括周南.召南.邶.鄘.卫.王

细谈中医-------很老很老的偏方

中医皮肤科老偏方 解决皮肤的烦心事儿 皮肤是人体对抗疾病的第一道防线一定要严防死守. 在广义上皮肤科包含对头发.指趾甲疾病的治疗.本 章所列举的都是日常生活中最常见的皮肤病用小偏方治疗既轻 松又有效. 读客家庭健康必备书 001 1劝君放弃洗发液用洋葱.生姜治头皮屑 症状头皮屑 很老很老的老偏方 ①将一个捣烂的洋葱头用纱布包好用它揉擦头皮24 小时后用温水洗头即可止头痒除头皮屑. ②先将生姜切片放入锅里煮沸待水温不烫的时候倒 上适量醋加水洗头. 头皮屑谁都不会陌生.有些头皮屑比较多的人即使头皮痒

关系数据库设计

一.基本概念 1关系模型 表:和数学上的关系这个概念密切相关,关系数据库是表的集合.表中的一行代 表了一系列值之间的联系. 属性:表的列首被称为属性. 域:属性所允许的值. 数学上的描述 关系:可以代替"表"这个概念的数学名词.关系是元组的集合. 元组:可以代替"行"这个概念的数学名词. 元组变量:代表元组的变量,以所有元组集为域的变量. 原子的域:域的元素被看做是不可再分的单元. 超码:一个或多个属性的集合.这些属性的组合可以在一个关系中唯一标识一个元组. 候选码

mapminmax的用法详解 _MATLAB

============外一篇 有关mapminmax的用法详解 by faruto==================================转自:http://www.ilovematlab.cn/thread-47224-1-1.html几个要说明的函数接口:[Y,PS] = mapminmax(X)[Y,PS] = mapminmax(X,FP)Y = mapminmax('apply',X,PS)X = mapminmax('reverse',Y,PS) 用实例来讲解,测试数据

[Asp.net]常见word,excel,ppt,pdf在线预览方案(转)

引言 之前项目需要,查找了office文档在线预览的解决方案,顺便记录一下,方便以后查询. 方案一 直接在浏览器中打开Office文档在页面上的链接.会弹出如下窗口: 优点:主流浏览器都支持. 缺点:Office文档链接在浏览器中打开,会有如上图的提示,需用户自己选择打开或者保存功能,如果客户电脑上安装迅雷下载软件,会启动迅雷下载,用户体验不好. 方案二 office文档转html,首先引入com组件中office库,然后在程序集扩展中引入word,excel,ppt的dll. 然后F6生成,会

Could not find class &#39;****&#39;, referenced from method #####

找不到类,多半也是和第三方的jar包有关. 将找不到的类,在下图中的地方勾选出来.如果jar太多,有的类有冲突的话,需要明确其先后顺序. 请外一篇和第三方jar有关的异常的文章. Conversion to Dalvik format failed with error 1 Could not find class '****', referenced from method #####

编辑HTML代码,批量制作博文清单

当积累的博文多了,常想制作一个分类目录,方便读者阅读.这可以是一个不轻松且枯燥的工作. 以<关于"IT学子成长指导"专栏及文章目录>中目录的制作为例,介绍我的"懒"办法.这个目录常更新,是件事儿.或许算个技巧,背后,全是重复工作过的辛酸.所谓技巧,全是从笨办法中来的. 博文清单制作方法 我要收录到目录中的文章,皆来自于<IT学子成长指导>博客专栏.进入专栏,改到"管理专栏"的页面.选中要进入专栏的文章,CTRL-C复制了事

Matlab boxplot for Multiple Groups(多组数据的箱线图)

在画之前首先介绍一下Matlab boxplot,下面这段说明内容来自http://www.plob.org/2012/06/10/2153.html 由于matlab具有强大的计算功能,用其统计数据功能优点显而易见,这里分享使用matlab中的boxplot的一些技巧,供大家参考. Matlab boxplot命令 格式如下 boxplot(X):产生矩阵X的每一列的盒图和“须”图,“须”是从盒的尾部延伸出来,并表示盒外数据长度的线,如果“须”的外面没有数据,则在“须”的底部有一个点. www