清水混毒【逻辑题】

简介: 清水混毒【逻辑题】

清水混毒【逻辑题】

题目

一百瓶清水里混入了和清水一模一样的毒药,我们无法从外观和气味上分辨出来。但是我们知道小白鼠不论摄入多少量的毒药都会立刻 s掉。
现在给你7只小白鼠和无限长的准备时间,准备时间忽略不计。在你准备完成之后,请问你是否要办法在一个小时之内区分出哪瓶是毒药?

4个条件:

1.不论摄入多少量

2.都会立刻s掉

3.7只小白鼠

4.无限长的准备时间
要求:

一个小时之内区分出哪瓶是毒药?

题目

一百瓶清水里混入了和清水一模一样的毒药,我们无法从外观和气味上分辨出来。但是我们知道小白鼠不论摄入多少量的毒药都会在一个小时到两个小时 s掉。
现在给你7只小白鼠和无限长的准备时间,准备时间忽略不计。在你准备完成之后,请问你是否要办法在有三个小时之内区分出哪瓶是毒药?

4个条件:

1.不论摄入多少量

2.都会在一个小时到两个小时 s掉。

3.7只小白鼠

4.无限长的准备时间
要求:

三个小时之内区分出哪瓶是毒药?

解答

对于第一题很简单,不在多述。

对于第二题,我的解法如下:把100瓶分成7份,给7个小白鼠,每份不到15瓶。15x7=105>100

1小时后,死掉一只,剩6只。

再把死掉一只的那15瓶分成6份,每份不到3瓶。3x6=18>15

1小时后,再死一只,剩5只

再把3瓶分给5个小白鼠,5>3

再过1小时,就可以确认。


注意的是:

小白鼠是1到2小时之间才能毒发,必须等到有一只死了,才可以进行下一步操作。


还有一种解法如下:


由于27=128>100,所以1~100能用7位2进制表示。

比如:

1转成2进制是000 0001

2转成2进制是000 0010

100转成2进制是110 0100


那更多的十进制转换为二进制如下

1=0000001 21=0010101 41=0101001 61=0111101 81=1010001
2=0000010 22=0010110 42=0101010 62=0111110 82=1010010
3=0000011 23=0010111 43=0101011 63=0111111 83=1010011
4=0000100 24=0011000 44=0101100 64=10000oo 84=1010100
5=0000101 25=0011001 45=0101101 65=1000001 85=1010101
6=0000110 26=0011010 46=0101110 66=1000010 86=1010110
7=0000111 27=0011011 47=0101111 67=1000011 87=1010111
8=0001000 28=0011100 48=0110000 68=1000100 88=1011000
9=0001001 29=0011101 49=0110001 69=1000101 89=1011001
10=0001010 30=0011110 50=0110010 70=1000110 90=1011010
11=0001011 31=0011111 51=0110011 71=1000111 91=1011011
12=0001100 32=0100000 52=0110100 72=1001000 92=1011100
13=0001101 33=0100001 53=0110101 73=1001001 93=1011101
14=0001110 34=0100010 54=0110110 74=1001010 94=1011110
15=0001111 35=0100011 55=0110111 75=1001011 95=1011111
16=0010000 36=100100 56=0111000 76=1001100 96=1100000
17=0010001 37=0100101 57=0111001 77=1001101 97=1100001
18=0010010 38=0100110 58=0111010 78=1001110 98=1100010
19=0010011 39=0100111 59=0111011 79=1001111 99=1100011
20=0010100 40=0101000 60=0111100 80=1010000 100=1100100

我们现在把第一位是1的所有液体进行混合,也就是编码是1xx xxxx的所有液体都混到一个瓶子里面。同理:把第二位是1的所有液体进行混合到一个瓶子里面,把第三四五六七位是1的,同样的方法进行混合到一个瓶子里面,最终我们可以得到7个瓶。7个瓶子里的液体分别喂给7个小白鼠,之后我们只需等待两小时所有中毒的小白鼠都会毒发。


根据中毒小白鼠的情况,可得出其毒药编码。第几位小白鼠死了,毒药的编码第几位就是1(死为1,活为0)

例如:只有第1、3、5、7小白鼠死掉,其编码为101 0101,也就是第85瓶是毒药。


若第一题也用此方法,我们将立刻根据死掉的小白鼠,就得知其毒药编码了。

建模

相关文章
|
7月前
逻辑删除
逻辑删除
32 0
|
数据采集 安全 程序员
逻辑是个好东西
这些逻辑关系、推导过程与程序中的逻辑结构息息相关。如果你对此不能保持思路清晰,写出的代码很可能与预期有出入,或是在一些特殊情况下存在漏洞。
|
数据可视化
【逻辑思维训练 二】系统思维训练
【逻辑思维训练 二】系统思维训练
159 0
|
SQL 存储 缓存
第04章_逻辑架构(下)
第04章_逻辑架构
161 0
|
SQL 存储 缓存
第04章_逻辑架构(上)
第04章_逻辑架构
178 0
|
Go 索引
SolrCore getSearcher逻辑回顾
假期重新把之前在新浪博客里面的文字梳理了下,搬到这里。
170 0
|
程序员
逻辑为什么重要
易中天先生曾将这种中国逻辑归为三点:问态度,不问事实;问动机,不问是非;问亲疏,不问道理。本文的归纳不如他缜密,却更具体,所指更为鲜明。
1174 0