1000瓶药水,1瓶有毒药,几只小白鼠能够找出毒药
1000瓶藥水,1瓶有毒藥,服用后一小時毒發,毒藥可以無限稀釋,那么一小時內用幾只小白鼠能夠找出毒藥?
假如是8瓶藥水,3只小白鼠。
000=0
001=1
010=2
011=3
100=4
101=5
110=6
111=7
每位數表示一只老鼠,0-7表示8個瓶子。即將1,3,5,7號瓶子的藥混合取樣給鼠1吃,2,3,6,7號瓶子混合取樣給老鼠2吃……死鼠相應的位標為1。如鼠1死了,鼠2沒死,鼠3死了,那么就是101=5號瓶子有毒。N只老鼠的量程為2^N,1000只瓶子位于2^9 ~ 2^10,即10只小鼠可以測1000瓶水。
?
第二種變體:服用后一小時毒發,那么兩小時內用幾只小白鼠能夠找出毒藥?
兩個小時就可以測試兩輪,且第一輪死了的小白鼠不能參與第二輪,可以用3進制
0表示兩輪都不喝
1表示第一輪喝,第二輪不喝
2表示第一輪不喝,第二輪喝
00=0
01=1
02=2
10=3
11=4
12=5
20=6
21=7
如果鼠1第二輪死,鼠二第一輪死,就是12=5
?
最后推出公式為(測試次數+1)^x >= 藥水瓶數? ? ?x為白鼠數量? ?求x的最小整數值
?
第三種變體:有16瓶水1瓶有毒,用多少只小白鼠能測出14瓶無毒的水?
將16瓶藥水用二進制XXXX表示,取3只小白鼠來測,測出的狀態為XXX,那么毒在XXX0或XXX1中,剩下14瓶無毒。
?
轉載于:https://www.cnblogs.com/mengchunchen/p/9870789.html
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的1000瓶药水,1瓶有毒药,几只小白鼠能够找出毒药的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SPSS均值过程分析教程
- 下一篇: 纯前端导出PDF分页截取问题处理