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