(智力题)有 1000 瓶药物,但是其中有一瓶是有毒的,小白鼠吃了一个星期以后就会死掉!请问,在一个星期内找出有毒的 药物,最少需要多少只小白鼠?

问题重述:有 1000 瓶药物,但是其中有一瓶是有毒的,小白鼠吃了一个星期以后就会死掉!请问,在一个星期内找出有毒的 药物,最少需要多少只小白鼠?
答案:10只
解题思路
首先对1000瓶药物进行编号,并转为10位的二进制数,将10只老鼠进行编号分别为 a b c d e f g h i j。十只老鼠从a到j,分别对应二进制数的从高到低位数。
怎样喝
二进制数,位数为1所对应的老鼠喝对应的药物。
例如:第一瓶 二进制数00 0000 0001,最后一位为1,最后一位对应j老鼠,则第一瓶让j老鼠喝。第二瓶二进制数00 0000 0010,倒数第二位为1,最后一位对应i老鼠,则第二瓶让i老鼠喝。
每只老鼠不止喝一瓶药物
可能有人会问,一只老鼠可能喝了多瓶药物,那就算这只老鼠死了,也无法确定是由所喝的那瓶药物是有毒的。
解释
1000瓶对应的二进制数是唯一的。这并不是,用一只老鼠的死亡与否判断某瓶药物是否有毒,而是用10只老鼠死亡的某种排列去判断某瓶药物是否有毒。
举例
如果第101瓶药物有毒。101瓶药物让 编号为c d e g j 老鼠同时喝,因为101是有毒的,因此,编号为c d e g j的老鼠都会死,例如,虽然说j老鼠喝了多瓶药物,但是 c d e g j这样的死亡组合是唯一的。
在这里插入图片描述


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部