1000瓶水,1瓶有毒药,几只小白鼠能够找出

1000瓶水,1瓶有毒药,几只小白鼠能够找出

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

这道题考察的是对2进制的理解。

我们可以先理解简单一点的,先算假如只有4瓶其中一瓶有毒。

我们可以通过逻辑,A、B、C、D四瓶水

第一只喝:A、B

第二只喝:B、C

这时候就会出现四种情况

都活:说明D水有毒

一死:说明A有毒

二死:说明C有毒

都死:说明B有毒

这时得知2只小白鼠够了。

二进制

通过二进制方式:4 = 0100 去掉前面得0还有三位 所以二进制得出需要三只去喝,因为我们是通过逻辑得出最少两只有一只没喝,都喝的话是需要3只得。

1000瓶

二进制换算:1000 = 0011 1110 1000 去掉前面无效0还有10位,所以需要10只小白鼠。

将所有水二进制换算

这10只小白鼠我们这样分配:

第一只喝水二进制换算后第一位是1得

第二只喝水二进制换算后第二位是1得

~

第十只喝水二进制换算后第十位是1得

1000统计起来太麻烦了。

例:10瓶
1~10二进制结果
12345678910
0001001000110100010101100111100010011010
统计

10 = 1010 = 4只

小白(喝个位是1的):1、3、5、7、9

小黑(喝十位是1的):2、3、6、7、10

小绿(喝百位是1的):4、5、6、7

小黄(喝千位是1的):8、9、10

假如:小白小黑GG了,小白鼠从左到右排队G了打1没G打0->千(0) 百(0) 十(1) 个(1)

结果:0011 二进制转十进制 3。

其实肉眼也可以看出来哈7号小绿喝了也没G那肯定是3了。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值