答案:10只 解:将1000瓶毒药按照1~1000进行编号,并按照其编号转换为二进制0000000001~1111101000(因为1000的二进制有效位数是10位所以这里取十位的二进制),每一瓶毒药都有一个对应的10位的二进制编号。 将毒药二进制编号中第十位数为1的所有毒药取少许 ...
问题描述:有 个一模一样的瓶子,其中有 瓶是普通的水,有 瓶是毒药。 任何喝下毒药的生命都会在一星期之后死亡。现在你只有 只小白鼠和 个星期的时间,如何检验出哪个瓶子有毒药 解答: 根据 ,所以 个老鼠可以确定 个瓶子具体哪个瓶子有毒。具体实现跟 个老鼠确定 个瓶子原理一样。 一位表示一个老鼠, 表示 个瓶子。也就是分别将 号瓶子的药混起来给老鼠 吃, 号瓶子的药混起来给老鼠 吃, 号瓶子的药混起 ...
2015-04-21 21:16 0 8738 推荐指数:
答案:10只 解:将1000瓶毒药按照1~1000进行编号,并按照其编号转换为二进制0000000001~1111101000(因为1000的二进制有效位数是10位所以这里取十位的二进制),每一瓶毒药都有一个对应的10位的二进制编号。 将毒药二进制编号中第十位数为1的所有毒药取少许 ...
题目:1000 瓶无色无味的药水,其中有一瓶毒药,10只小白鼠拿过来做实验。喝了无毒的药水第二天没事儿,喝了有毒的药水后第二天会死亡。如何在一天之内(第二天)找出这瓶有毒的药水? 思路:10只小白鼠,喝了药水之后第二天只有存在和挂掉两种情况,我们用计算机二进制里面 ...
今天分享一道很有意思的问题。 题目: 有1000只一模一样的瓶子,编号1-1000。其中999瓶是水,一瓶是看起来像水的毒药。只要老鼠喝下一小口毒药,一天后则死亡。现在,你有7只老鼠和一天的时间,如何检验出哪个号码瓶子里是毒药? 答案:根据2^10=1024,所以10个老鼠可以确定 ...
问题1. 有 1000 个一模一样的瓶子,其中有 999 瓶是普通的水,有一瓶是毒药。任何喝下毒药的生物都会在一星期之后死亡。现在,你只有 10 只小白鼠和一星期的时间,如何检验出哪个瓶子里有毒药? 问题2. 有 8 个一模一样的瓶子,其中有 7 瓶是普通的水,有一瓶是毒药。任何喝下毒药 ...
思路: 使用二进制的格式来给每瓶水做标记, 然后可以看出1000瓶水需要二进制数的位数为10位,所以找10只小白鼠,第一只小白鼠只和二进制数第一位为1的水,第二支小白鼠喝二进制数第二位为1的水,以此类推,第10只小白鼠喝二进制数第10位为1的水。 假如7天后1,3,5三只小白鼠死了 ...
【1】根据2^10=1024,所以10个老鼠可以确定1000个瓶子具体哪个瓶子有毒。具体实现跟3个老鼠确定8个瓶子原理一样。000=0001=1010=2011=3100=4101=5110=6111=7一位表示一个老鼠,0-7表示8个瓶子。也就是分别将1、3、5、7号瓶子的药混起来给老鼠1吃 ...
之前碰到过毒药和老鼠,鸡蛋和称的问题,每次都拿笔在纸上推敲很久,这类问题今天终于有了完整的解决思路。 基础: 1.整数的二进制表达式 1000的二进制表达式是什么呢? 1000的二进制表达式为 1111101000 = 29 + 28 + 27 + 26 + 25 + 23 ...
1000瓶药水,1瓶有毒药,服用后一小时毒发,毒药可以无限稀释,那么一小时内用几只小白鼠能够找出毒药? 假如是8瓶药水,3只小白鼠。 000=0 001=1 010=2 011=3 100=4 101=5 110=6 111=7 每位数表示一只老鼠,0-7表示 ...