面试题--小白鼠实验

小白鼠试验

实验概述

你有1000个瓶子,其中有1瓶是毒药,其他999瓶是水,且毒药的形态和水一样,从外观上与水没有差异。小白鼠喝了毒药以后会在一周后死亡。现在你有10只小白鼠,和一周的时间,试问如何在一周的时间里找出这瓶毒药。

分析

由于小白鼠只有10只,不可能简单的让每只小白鼠都喝这1000个瓶子里的液体,所以我们需要想办法让这10只小白鼠和1000个瓶子产生联系。

解答

将1000个瓶子编号为1~1000,2的10次方为1024>1000,所以能想到用二进制方法来表示。

瓶子编号小白鼠排列
10000000001
20000000010
30000000011
······
888‭1101111000‬
······
1000‭1111101000‬

如上列表所示,将小白鼠依次编号,从左往右依次是第10只、第9只···第1只。接下来给小白鼠按列表喝瓶子里的水,例如第一瓶给第一只喝,第二瓶给第二只喝,第三瓶给第一只以及第二只喝······第888瓶给第10、9、7、6、5、4只喝。一周以后,由于小白鼠喝了毒药会死亡,所以根据最后的小白鼠的存活情况可以确定哪一瓶是毒药。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值