被评为初中奥数题,详解

来源:百度知道 编辑:UC知道 时间:2024/06/15 19:54:05
有一千瓶啤酒,其中有一瓶是毒酒,喝下毒酒后在20小时就会毒发身亡。现在有10只给你做实验的老鼠,要求在24小时内找出这瓶毒酒。。
条件就只有这些,能解决的朋友请解释下方法

将一千瓶啤酒分为10组,对应10只老鼠。每只老鼠检验100瓶。
20小时后毒发,那么就有4小时时间操作,4×60/100=2.4分钟/瓶
所以让老鼠每个两分钟喝一口,对每只老鼠的100瓶酒进行顺序编号。
有毒发的老鼠找出有毒酒的那100瓶,然后根据老鼠的毒发时间追查是那个编号。该编号的酒就是毒酒。

用2进制算。
给每瓶酒用2进制编号,这样做:
第1瓶 00000 00001
第2瓶 00000 00010
第3瓶 00000 00011
第4瓶 00000 00100
第5瓶 00000 00101
...
...
...
...
第1000瓶 11111 01000
再让耗子排队站好,abcde fghij每个耗子对应一位数。
来,第一瓶酒,让是1的那位上的耗子喝,就是j耗子,其他位上是0的对应的耗子不用喝。然后第二瓶,第三瓶都是这样,只有对上1的那只耗子要喝。最后1000瓶都喝完了,耗子们有死有活,我们让死耗子=1,活耗子=0,于是,耗子们就变成了一串0和1,假如这串数字是10001 00001,那么编号是这个数字的酒就是毒酒啦!

这个题目中24小时的时间限制是多余条件.
每瓶啤酒由这10只老鼠中的N只来喝,一共有2^10=1024种喝法,按上面那个大侠的说法
把复杂问题简单化,假设是3只老鼠来喝8瓶酒,

把老鼠编号为abc,设0表示不喝,1表示喝
第1瓶酒编号000,没人喝.
第2瓶酒编号001,c喝.
第3瓶酒编号010,b喝.
第4瓶酒编号011,bc喝.
第5瓶酒编号100,a喝.
第6瓶酒编号101,ac喝.
第7瓶酒编号110,ab喝.
第8瓶酒编号111,abc喝.

最后看死的老鼠的情况.如果没老鼠死,说明第一瓶是毒酒;如果c死,说明第2瓶酒是毒酒...

同样的道理,用10只老鼠共可以检验出
2^10=1024瓶酒里的一瓶毒酒.

给每瓶酒编号
第1瓶1