8瓶水和3只小老鼠的故事(python解決)思路

老鼠試毒藥的故事


大家好,這裏是三歲,遇到了一個那難題,三歲渣渣做算法題,思路已有過程還在考慮,頭一直禿

這是一個悲傷的故事,一天有人往8個杯子中的一個投了毒,已經知道毒藥7天左右發作,現有3只小白鼠,有一個星期的時間,要得到哪一個杯子裏面有毒

這題目真的和題目一有毒。
百度到了一個好結果:

 把3只老鼠變成肉泥,然後等分成8份放進瓶子裏,7天后查看有沒有長蛆,沒有的那個就是有毒的。

這個答案也是真的牛,只想問一句,你是秀兒嗎?

思路

可以逐個排序

瓶子 老鼠
1號 第一隻
2號 第二隻
3號 第三隻
4號 第一、二隻
5號 第一、三隻
6號 第二、三隻
7號 第一、 二、三隻
8號 都不喫

這樣子不同的老鼠giao了就代表不同的瓶子有毒,如果都沒有giao那麼8號有毒
emmm好有道理啊!

怎麼樣去表達?

禿!!!

思路2

上面的有明顯問題就是這個順序比例不好把控,用計算機語言難以表達,而且容易錯亂。
有沒有什麼好一點的辦法呢?
那麼肯定是有的,就是採用二進制的辦法

疑惑.jpg

不行,三歲老規矩上圖!

瓶子
3只老鼠一隻表示一位
第一隻試第一位是1的也就是 2,4,6,8
第二隻試第二位是1的也就是 3,4,7,8
第三隻試第三位是1的也就是 5,6,7,8

只要有那隻giao 了就代表響應位數爲1的十進制值加一

比如第一隻和第三隻giao了,那麼就相當於第三位和第一位爲1
就是: 101(二進制) = 5(十進制)+1
第6瓶是毒藥

原理基本上就是終上所述,至於怎麼實現,emmm三歲禿頭努力中,如有結果會把鏈接放在下面,如有大佬有思路想法,歡迎打擾。謝謝大家的關注!!!

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