1000瓶毒药,小白鼠测毒问题
生活随笔
收集整理的這篇文章主要介紹了
1000瓶毒药,小白鼠测毒问题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1000瓶藥有1瓶有毒,如果小白鼠服用有毒的藥,則24小時后死亡。現在需設計一種策略,使用盡可能少的小白鼠,在24小時內找出有毒的藥。
如果用最普通的二分,第一只喝1-500,根據生存情況可以繼續進行二分,以此類推。
但是由于只有24個小時,所以可以并行二分,第一只小白鼠喝1-500,同時第二只喝1-250,501-750,以此類推,相當于一開始就把所有二分的情況全部處理好。
也可以用折位的方法,把藥的編號化成2進制,比如1為0000000001,那么它需要由1號白鼠喝,15為0000001111,則需要由1號2號3號4號白鼠喝,很明顯,1號老鼠最后喝的為二進制最低位為1的,即所有奇數,如果1號小白鼠死亡,那么毒藥在奇數情況中,如果活著說明在偶數情況中(末位為0),這樣一只小白鼠就能確定二進制的其中一位,十只小白鼠能確定2^10=1024個數
總結
以上是生活随笔為你收集整理的1000瓶毒药,小白鼠测毒问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: centos php7 apcu,cen
- 下一篇: 多用户远程(RDP Wrapper)安装