這個題是對bit位的應用,1000接近1024,所以需要10個bit位,對瓶子進行編號,從0到999,這樣需要10只老鼠。瓶子的編號分別爲:
00000,00000
00000,00001
00000,00010,
00000,00011
00000,00101
00000,00111
。。。。。。
11111,00111
同時給老鼠編號,從1,2,...10,從低位開始,讓第n個老鼠喝下第n個bit位爲1瓶子中的藥水。一週後,若所有的老鼠都沒有發病,那麼是第一個瓶子有毒,如果有一些老鼠發病,那麼從第到高的bit位置成1,其他的還是0。變成整數後,對應的數字即爲有毒藥水的編號。