1000瓶药中找出一瓶毒药,10只老鼠做试验
来源:互联网 发布:linux yum wget 编辑:程序博客网 时间:2024/04/29 08:24
题目如下:现有1000瓶药,其中有一瓶毒药,喝了之后1小时后才产生效果,现在你有10只老鼠和1个小时的时间,请问怎么找出毒药?
题解:这道题明显就是只能一开始就把所有药都喂给10只老鼠,1小时后就直接一次性出结果。
现在以2只老鼠做例子,每只老鼠喝一瓶药,2只老鼠能验出2瓶,最多只能从3瓶中找出一瓶毒药;
这显然不够的,但是如果是用第一只老鼠喝第一瓶药,第二只老鼠喝第二瓶药,第1和第2只老鼠喝第三瓶药,那么就能够从3瓶中找出毒药;
这时我们可以发现,唯一的组合的死亡也能代表一瓶药有毒。
现在有10只老鼠,那么我们以老鼠的死和排序作为一瓶药的编号。例如:
001 代表第一瓶药
010代表第二瓶药
011代表第三瓶药
100、101、110、111一次类推
因此,第一只老鼠(从右往左数)要喝的有1、3、5、7 四瓶药,第二只老鼠要喝的有2、3、6 三瓶药,第三只老鼠喝的是4、5、6、7 四瓶药。
第一只老鼠死了代表第一瓶是毒药,第二只死了代表第二瓶是毒药,第一和第二都死了代表第3瓶是毒药,第三只死了代表第4瓶是毒药,第一和第三死了代表第5瓶是毒药、、、以此类推
0 0
- 1000瓶药中找出一瓶毒药,10只老鼠做试验
- 面试题:1000瓶水其中有一瓶水有毒,有10只老鼠并且只要老鼠喝了有毒的水必死。请问怎样通过一次实验找出有毒的那瓶水。
- c语言:1000瓶水,有一瓶是有毒的,现共有10只老鼠,怎么判断毒水?
- 用10只小白鼠找出1000瓶液体中有毒的一瓶
- 从老鼠试验毒药的算法想到的
- 1000瓶酒其中1瓶有毒,10只老鼠找出毒酒
- 有11瓶酒,只有一瓶有毒。喝酒之后,三天会死,只有三天时间。请问至少需要多少只老鼠,可以找出9瓶没有毒的酒。
- 有1000个一模一样的瓶子,其中有999瓶是普通的水,有一瓶是毒药。任何喝下毒药的生物都会在一星期之后死亡。现在,你只有10只小白鼠和一星期的时间,如何检验出那个瓶子里有毒药?
- 有 1000 个一模一样的瓶子,其中有 999 瓶是普通的水,有一瓶是毒药。任何喝下毒药的生物都会在一星期之后死亡。现在,你只有 10 只小白鼠和一星期的时间,如何检验出哪个瓶子里有毒药?
- 有 1000 个一模一样的瓶子,其中有 999 瓶是普通的水,有一瓶是毒药。任何喝下毒药的生物都会在一星期之后死亡。现在,你只有 10 只小白鼠和一星期的时间,如何检验出哪个瓶子里有毒药?
- 有 1000 个一模一样的瓶子,其中有 999 瓶是普通的水,有一瓶是毒药。任何喝下毒药的生物都会在一星期之后死亡。现在,你只有 10 只小白鼠和一星期的时间,如何检验出哪个瓶子里有毒药?
- 1000瓶试剂,其中一瓶有毒,最少需要多少只小白鼠能找出有毒的试剂
- 10只老鼠与1000瓶药水
- 对计算机bit的强大的理解力: 用10只小白鼠查找1000瓶药中有毒的那一瓶(只有一瓶)
- 老鼠与毒药问题
- 老鼠毒药问题
- 老鼠与毒药
- 老鼠毒药问题
- 400+考研 北京航空航天大学2系电子信息与工程学院921通信综合资料合辑
- linux系统下U盘挂载程序
- IOS 数据存储之 Core Data详解
- maven管理多模块系统
- Objective-C Runtime 运行时之五:协议与分类
- 1000瓶药中找出一瓶毒药,10只老鼠做试验
- NSString的使用方法
- linux中memset的正确用法
- WMB入门之十:Java Compute节点
- 120.按规定找出素数
- Objective-C Runtime 运行时之六:拾遗
- :400+考研 北京航空航天大学3系自动化科学与电气工程学院933控制工程综合资料合辑
- 终止excel.exe的进程
- CDC