老鼠喝葡萄酒的逻辑题
有个挺有意思的题目:
1000瓶葡萄酒里知道有一瓶是有毒的,你可以用10只老鼠测试,老鼠喝到毒酒2小时后会有中毒反应。请在5分钟内给出最佳方案(就是2小时后最多能确认多少瓶酒是安全的)
是道逻辑题;你知道答案吗?
答案是所有的酒都能知道是有没有毒。
将1000瓶酒分别编号为二进制的0000000000到1111101000。这样1000瓶酒编号分别为
0000000000
0000000001
0000000010
0000000011
…
1111101000为了方便描述,将酒的编号中最右位当作bit0,那么最左位为bit9。
然后将老鼠编号为0~9。
下面开始调酒,将bit0为1的酒调在一起,给0号老鼠喝;将bit1为1的酒调在一起给1号老鼠喝;……依此类推……;bit9位1的酒都将给9号老鼠喝。
………………等2个小时………………(看看谁死了)
如果都没有老鼠死了,那么第0瓶酒(0000000000)是有毒的(就他没给任何老鼠喝);
如果0号老鼠死了,那么第1瓶酒(0000000001)有毒;
如果1号老鼠死了,那么第2瓶酒(0000000010)有毒;
……
如果0+1号老鼠死了,那么第3瓶酒(0000000011)有毒;
……
……
老鼠都死了?神啊,杀了我吧。怎么算的?自己想想看。
Categories: Uncategorized




Recent Comments