校招刷题群
高效刷题 迎战校招
校招精选试题
近年面笔经面经群内分享
Java刷题群 前端刷题群 产品运营群
首页 > 行测 > 逻辑计算题
题目

有1000瓶水,其中有一瓶有毒,小白鼠只要尝一点带毒的水24小时后就会死亡,至少要多少只小白鼠才能在24小时时鉴别出那瓶水有毒?

A.8

B.9

C.10

D.11

解答

正确答案是 C

解析:

每个老鼠只有死或活2种状态,因此每个老鼠可以看作一个bit,取0或1 

N个老鼠可以看作N个bit,可以表达2^N种状态(其中第i个状态代表第i个瓶子有毒) 

例如:当N=2时,可以表达4种状态 

0,0( 一号老鼠活,二号老鼠活) 

0,1( 一号老鼠活,二号老鼠死) 

1,0( 一号老鼠死,二号老鼠活) 

1,1( 一号老鼠死,二号老鼠死) 

具体来说,有A、B、C、D这4个瓶子,一号老鼠喝A和B, 二号老鼠喝B和C 

如果 0,0 ( 一号老鼠活,二号老鼠活),说明是D有毒,第0个状态代表第4个瓶子有毒 

如果 0,1 ( 一号老鼠活,二号老鼠死) ,说明是C有毒 ,第1个状态代表第3个瓶子有毒 

如果 1,0 ( 一号老鼠死,二号老鼠活) ,说明是A有毒 ,第2个状态代表第1个瓶子有毒 

如果 1,1 ( 一号老鼠死,二号老鼠死) ,说明是B有毒 ,第3个状态代表第2个瓶子有毒

C 2条回复 评论
六元的大可爱er

可以把所有资料打包,发给我嘛?

发表于 2021-11-02 22:00:00
0 0
yoonA

只有懂得基本原理和协议规范的程序员才能摆脱搬砖码农这个束缚。

发表于 2021-09-12 11:15:00
0 0