智力題-小白鼠試毒
轉換為二進位制
題目1:
有16瓶水,其中只有一瓶水有毒,小白鼠喝一滴之後一小時會死。請問最少用() 只小白鼠,在1小時內一定可以找出至少14瓶無毒的水?
答案為3只。
解析:
具體步驟:
將16瓶水兩瓶為一組,組號標為A1-A8,三隻小白鼠分別標號為b1、b2、b3。
A1,001,只讓b1喝
A2,010,只讓b2喝
A3,011,讓b1、b2喝
A4,100,只讓b3喝
A5,101,b1、b3喝
A6,110,b2、b3喝
A7,111,讓b1、b2、b3喝
A8組不喝.
如果只有b1死了,b2、b3都活著,那麼有毒的水在A1組裡,剩下的14瓶無毒;如果只有b2死了,b1、b3都活著,則A2組有毒;如果b1、b2死,b3活,則A3組有毒;如果只有b3死了,b1、b2都活著,則A4組有毒;如果b1、b3死,b2活,則A5有毒;如果b2、b3死,b1活,則A6有毒;如果三隻全死,A7組有毒;如果三隻全活,A8有毒。
題目2:
有1000瓶水,其中有一瓶有毒,小白鼠只要嘗一點帶毒的水24小時後就會死亡至少要多少隻小白鼠才能在24小時
至少要多少隻小白鼠才能在24小時鑑別出哪瓶水有毒
答案是10只
解析:
給1000個瓶分別標上如下標籤(10位長度):
0000000001 (第1瓶)
0000000010 (第2瓶)
0000000011 (第3瓶)
.
1111101000 (第1000瓶)
從編號最後1位是1的所有的瓶子裡面取出1滴混在一起(比如從第一瓶,第三瓶,.裡分別取出一滴混在一起)並標上記號為1.給第一個小白鼠喝。
從編號倒數第2位是1的所有的瓶子裡面取出1滴混在一起並標上記號為2.給第2個小白鼠喝。
從編號倒數第3位是1的所有的瓶子裡面取出1滴混在一起並標上記號為3.給第3個小白鼠喝。
從編號倒數第4位是1的所有的瓶子裡面取出1滴混在一起並標上記號為4.給第4個小白鼠喝。
從編號倒數第5位是1的所有的瓶子裡面取出1滴混在一起並標上記號為5.給第5個小白鼠喝。
從編號倒數第6位是1的所有的瓶子裡面取出1滴混在一起並標上記號為6.給第6個小白鼠喝。
以此類推。。。。
24小時過去了,過來驗屍吧:
如果只有第一個小白鼠死了。即00000 00001,則第1瓶有毒。
如果只有第1,4個小白鼠死了。即00000 01001,則第9瓶有毒。