1000瓶水中找 出有毒的那瓶,毒性一週後發作,一週內最少需要多少隻老鼠

這個題是對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。變成整數後,對應的數字即爲有毒藥水的編號。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章