【思维与逻辑】有1000瓶药水,但其中有一瓶毒药水,需要多少只小白鼠?
【思維與邏輯】有1000瓶藥水,但其中有一瓶毒藥水,需要多少只小白鼠?
??【思維與邏輯】有1000瓶藥水,但其中有一瓶毒藥水,需要多少只小白鼠?
??【思維與邏輯】快速分沙堆,辨別出十堆沙子中哪堆沙子溶解會變色?
??【思維與邏輯】快速測出假硬幣
文章目錄
- 【思維與邏輯】有1000瓶藥水,但其中有一瓶毒藥水,需要多少只小白鼠?
- 1、 題目描述
- 2、 分析思路
- 3、 開拓思維
1、 題目描述
??現有1000瓶藥水其中有一瓶是毒藥水,現需要提供多少只小白鼠才能檢測那一瓶毒藥水?(使用盡可能少的實驗小白鼠)
2、 分析思路
??因為2^10=1024,故提供10只小白鼠就可以檢測出那一瓶毒藥水。
??首先對1000瓶藥水進行編號1~1000,10只小白鼠進行標記1至10號,對10只小白鼠分別灌入藥水,1號藥水灌給一號小白鼠,2號藥水灌給二號小白鼠,3號藥水灌給一、二號小白鼠,4號藥水灌給三號小白鼠……以此類推。
??也就是說,把1000瓶藥水轉換成二進制,對應的二進制位為1表示該藥水給這只小白鼠喝,為0表示該藥水不給這只小白鼠喝。根據小白鼠的存活狀態,轉換成十進制來判斷具體是哪瓶藥水是毒藥水。
| 1 | 00 0000 0001 | 1 |
| 2 | 00 0000 0010 | 2 |
| 3 | 00 0000 0011 | 1、2 |
| 4 | 00 0000 0100 | 3 |
| 5 | 00 0000 0101 | 1、3 |
| … | … | … |
| 500 | 01 1111 0100 | 3、5、6、7、8、9 |
| 501 | 01 1111 0101 | 1、3、5、6、7、8、9 |
| … | … | … |
| 999 | 11 1110 0111 | 1、2、3、6、7、8、9、10 |
| 1000 | 11 1110 1000 | 4、6、7、8、9、10 |
??通過觀察一至十號小白鼠哪只或者哪幾只死亡就可以知道是哪瓶是毒藥水了。假設1、2號小白鼠死亡,則代表3號瓶的藥水是毒藥水;假設1、3、5、6、7、8、9號小白鼠都死亡了,則說明編號為501的藥水 是毒藥水。
3、 開拓思維
??已知有m瓶藥水,那么需要 xxx 只小白鼠就可以檢測出那一瓶毒藥水。只需滿足條件: 2x≥m2^x\geq m2x≥m 。
?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 發散思維,注重積累!
總結
以上是生活随笔為你收集整理的【思维与逻辑】有1000瓶药水,但其中有一瓶毒药水,需要多少只小白鼠?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux cp 时 略过文件,Cent
- 下一篇: linux基础命令rpm,rpm常用命令