[数学问题]毒药和老鼠的研究[转]

转自:http://www.cnblogs.com/icyJ/p/Mouse_Poison.html

基础:

1.整数的二进制表达式

1000/2=500  --(余)--0
500/2=250   --(余)--0
250/2=125   --(余)--0
125/2=62    --(余)--1
62/2=31     --(余)--0
31/2=15     --(余)--1
15/2=7      --(余)--1
7/2=3       --(余)--1
3/2=1       --(余)--1
1/2=0       --(余)--1

1000的二进制表达式为 1111101000 = 29 + 28 + 27 + 26 + 25 + 2= 512 + 256 + 128 + 64 +32 + 8

2.二进制和上面的题目有什么关系呢?

表达0~2w-1的整数值,只需要w位的二进制即可。

再转换一下:w位的二进制可以表达(2w-1)+1=2w个整数值。

出题:8瓶水,其中一瓶有毒,请问需要几只老鼠,如何测试呢?



步骤一:8 = (二进制)1000 = 23

即三位的二进制即可表达8种情况。



步骤二:将三位的二进制所有的情况罗列出来,剔除0的情况

计算机的整数(索引)从0开始,生活中的计数习惯从1开始,这里可以取个巧,将0理解为索引,映射到最后一个数字,在这里就是8;剔除0,也就是剔除了第8瓶水的情况。

┆  0  ┆  0  ┆  1 ┆  //1
┆  0  ┆  1  ┆  0 ┆  //2
┆  0  ┆  1  ┆  1 ┆  //3
┆  1  ┆  0  ┆  0 ┆  //4
┆  1  ┆  0  ┆  1 ┆  //5
┆  1  ┆  1  ┆  0 ┆  //6
┆  1  ┆  1  ┆  1 ┆  //7

从右往左,第一列对应的是1010101,其中1对应的数即为{1,3,5,7};第二列对应0110011=>{2,3,6,7};第三列对应0001111=>{4,5,6,7}



步骤三:提取上面的数字,得出结果。

第一只老鼠给他喂食(1,3,5,7)瓶水的混合液,第二只老鼠喂食(2,3,6,7)的混合液,第三只老鼠喂食(4,5,6,7)的混合液。



步骤四:根据结果推算答案。

如果第一只死了,第二只和第三只活着,我们依旧从右往左写成001(死掉为1,活着为0),转成十进制整数为1。那么结论就是第1瓶水有毒。

如果第一只死了,第三只也死了,第二只活着。二进制为101,转十进制为5。那么结论就是第5瓶水有毒。

如果全部死亡。111,对应7,那么就是第7瓶水有毒。

如果全部存活。000,那就是0瓶水(或者容易理解的我们也说第8瓶水。计算机里的整数从0开始,而实际操作中从1开始。做这类题目的时候将0转换成最后一位即可)有毒。



步骤五:验证答案。

101的情况:第二只存活,说明2,3,6,7没有问题,而第一只和第三只,取他们的交集,有可能的是5和7,但是前面已经排除了7,所以答案是5。

再来验证110的情况:第一只存活,二、三只光荣了,说明1,3,5,7没问题,后两只的混合液取交集,有可能是6,7。前面排除了7,答案只能为6。

继续思考:

1000瓶水,找出其中有毒的那一瓶水,需要多少小白鼠,实际操作怎么样呢?

29 < 1000 < 210 所以需要的白老鼠个数为10只,也就是10只老鼠才能充分的反应1000种情况。当然,10老鼠最多可以反映多少情况呢,应该是210=1024种。



得出了需要十只老鼠,接下来十只老鼠应该怎么操作才能得出结论呢?

0000000001 ------1

0000000010 ------2

0000000011 ------3

0000000100 ------4

0000000101 ------5

...

1111100111 ------999



那么第一只老鼠应该喝1,3,5,7,9,11,...,997,999瓶水的混合液

第二只老鼠则是2,3,6,7,...,998,999瓶水的混合液

第三只老鼠则是4,5,6,7,12,13,14,15,...,996,997,998,999瓶水的混合液

...

第十只老鼠则是512,513,514,...,999瓶水的混合液

好吧,每个老鼠的指标都是接近500瓶的混合液,这也是自然的,每个位上有0,1两种可能。这么多,老鼠估计喝都喝死了。还想到一个问题啊,稀释这么严重,能毒死老鼠吗?这年头老鼠的生命力很顽强啊,这得上好的毒药啊......



......最后观察老鼠的牺牲情况,从右至左,死掉为1,活着为0,得到最终的二进制表达式,然后转换成十进制,即为有毒瓶子的答案。



问题:6个质量相等的小球和1个质量稍重的球,不能用天平,只能用称,设计一种方法,只能量三次就找出稍重的球。

类似的问题,这里数量变成了7个。测试数据也从死掉变成了重和轻,不过一样可以转换成0和1。

如果你看懂了上面,不妨想想这个的答案

时间: 2024-08-22 19:43:01

[数学问题]毒药和老鼠的研究[转]的相关文章

【每天进步一点】毒药和老鼠的研究

之前碰到过毒药和老鼠,鸡蛋和称的问题,每次都拿笔在纸上推敲很久,这类问题今天终于有了完整的解决思路. 基础: 1.整数的二进制表达式 1000的二进制表达式是什么呢? 1000/2=500 --(余)--0 500/2=250 --(余)--0 250/2=125 --(余)--0 125/2=62 --(余)--1 62/2=31 --(余)--0 31/2=15 --(余)--1 15/2=7 --(余)--1 7/2=3 --(余)--1 3/2=1 --(余)--1 1/2=0 --(余

一些对数学领域及数学研究的个人看法(转载自博士论坛wcboy)

转自:http://www.math.org.cn/forum.php?mod=viewthread&tid=14819&extra=&page=1 原作者: wcboy 现在的论坛质量比以前差了,大部分都是来解题问答的,而且层次较低.以前论坛中,Qullien很令人印象深刻,但愿他能在国外闯出一片天空.现在 基础数学版代数&数论子版中那几个讨论代数几何的还不错.不期望目前论坛出现很多高层次高手,高层次高手应该站在好课题上高观点讨论数学,出 现这样的网友,看他们的言论非常过

经典老鼠毒药问题

问题1. 有 1000 个一模一样的瓶子,其中有 999 瓶是普通的水,有一瓶是毒药.任何喝下毒药的生物都会在一星期之后死亡.现在,你只有 10 只小白鼠和一星期的时间,如何检验出哪个瓶子里有毒药? 问题2. 有 8 个一模一样的瓶子,其中有 7 瓶是普通的水,有一瓶是毒药.任何喝下毒药的生物都会在一星期之后死亡.现在,你只有 3 只小白鼠和一星期的时间,如何检验出哪个瓶子里有毒药? 确定问题是否可以解决: 2^10=1024>10002^3=8>=8 瓶子数不超过2的老鼠数次幂,都是可以解决

数学与当代生命科学(吴家睿)

20世纪中期,随着蛋白质空间结构的解析和DNA双螺旋的发现,形成了以遗传信息载体核酸和生命功能执行者蛋白质为主要研究对象的分子生物学时代.分子生物学的诞生使传统的生物学研究转变为现代实验科学.但是,在生命科学领域的实验科学与其它实验科学如实验物理学相比,更多地是注重经验,而非抽象的理论或概念.此外,这些生物学家们大多关注定性的研究,以发现新基因或新蛋白质为主要目标,对于定量的研究,如分子动力学过程等没有给予足够的重视.尽管如此,现代生命科学在20世纪的下半叶还是取得了丰盛的成果.正如美国科学院院

金融数学

金融数学(FinancialMathematics),又称数理金融学.数学金融学.分析金融学,是利用数学工具研究金融,进行数学建模.理论分 析.数值计算等定量分析,以求找到金融学内在规律并用以指导实践.金融数学也可以理解为现代数学与计算技术在金融领域的应用,因此,金融数学是一门新兴的 交叉学科,发展很快,是目前十分活跃的前言学科之一. 概述 金融数学是一门新兴学科,是"金融高技术 "的重要组成部分.研究金融数学有着重要的意义. 金融数学总的研究目标是利用我国数学界某些方面的优势,围绕金

声波传输信息的研究

本文记录在学习声波传递信息技术过程中的点滴.用过支付宝当面付的同学都知道,当面付其实是传递的一个用户的编码,个人理解为后台实时产生的关联用户ID的唯一编号(实时有效). 声波调制解调涉及信号处理技术,本文中涉及到概念解释均为个人理解,不正确的地方望纠正. 先来看两个概念: 时域--->真实存在的,描述事物按时间顺序变化的过程,也是人们认识事物变化的一般参考系. 频域--->是一个数学构造域,便于人们研究事物随频率变化的过程,是人们对事物本质规律一种标识系. 为了便于对信号的处理,人们将原本不好

【分享】近4000份数学学习资源免费分享给大家

一直以来喜欢收集数学类的教程资源,于是费了好大劲从万千合集站上扒拉了下来,总结归类了一下,一共有将近4000本电子书.经测试,均可免费下载,可能会弹出小广告,可不必理会之.[仅供学术学习和交流,请无用于商业用途.]另外,如有可能,还请尽量支持正版纸质书.   数学史(54)     数学史.rar 55.6 MB   数学的起源与发展.rar 4.3 MB   费马大定理—一个困惑了世间智者358年的谜.pdf 9.5 MB   通俗数学名著译丛14-无穷之旅:关于无穷大的文化史.pdf 14.

【网址】数学网址大全

中文数学专业网站:博士家园http://www.math.org.cnhttp://www.bossh.net 数理逻辑.数学基础:http://www.disi.unige.it/aila/eindex.html意大利逻辑及其应用协会的主页,包括意大利数理逻辑领域的相关内容. http://www.plenum.com/title.cgi?2110<代数与逻辑>,<西伯利亚代数与逻辑期刊>的翻译版,荷兰的Kluwer学术出版社提供其在线服务. http://forum.swart

培养高职学生数学建模思想的途径

数学是学生从小学就开始学习的一门重要课程,在高职阶段仍然是理工科专业的一门重要基础课程.但是,当前,很多数学教学往往思想不够明确,不能准确的定位数学教学的目标.根据高职教育多年来的经验,笔者认为高职阶段开设数学课的目标应当定位到数学建模思想的培养,而不只是单纯的学会工式,用工式算题. 毕竟我们培养的学生不是数学家,数学对于他们来说是一种解决问题的工具.如果学生通过高职阶段的数学学习能够在今后的工作中,以数学建模思想解决实际问题,那么才是数学真的在他的工作与生活中起到作用了,也是数学教学的成功所在