當前位置:首頁 » 操作系統 » 葯劑演算法

葯劑演算法

發布時間: 2025-01-03 11:14:15

① 邏輯演算法題(不斷更新)

問:有1000瓶葯劑和10隻老鼠,葯劑中有1瓶毒葯,喝了一周內死亡(有的題目改成了五分鍾,五分鍾真虧他能喂完),如何在仿早一周內找到這瓶毒葯。
答:將這1000瓶葯劑編號0~999,並轉換為二進制 就是0000000001~1111101000,從右向左開始,讓第一隻老鼠喝所有右起第一位編號為1的葯劑,第二隻老鼠喝所有右起第二位編號為1的葯劑,依次類推,10隻老鼠喝完10位的葯劑,一周後,如果第一隻老鼠死亡,那麼毒葯的從右起第一位為1,未死亡的話就為0,所以根據死亡狀態就可以知道該瓶毒葯的二進制。
例如狀態是:死亡,存活,死亡,存活,存活,存活,死亡,存活,死亡,存活 = 010111010=186
從上面例銀瞎子就可以知道第二種和第三種問題的解法了吧

測試時間提升為兩周就說明第一周測試不死的老鼠可以拿來繼續第二周的測試 ,所以老鼠的狀態就變成了三種:存活(未實驗),死亡,實驗後存活。
將全部葯劑編號後轉為三進制數,老鼠右起依次喝0編號的葯劑,如果死亡,那麼該位編號為0,鋒大空如果未死亡,那麼可能為1和2,第二周把存活的老鼠繼續喝該位1編號的葯劑,如果死亡就為1,存活就為2,這樣就找到了毒葯的三進制編號,然後轉換成下標即可。

總結:有 n 只小白鼠 m周的時間可以從 (m+1)^n 個瓶子中檢驗出毒葯來。

熱點內容
蘋果7plus微信怎麼加密 發布:2025-01-05 14:56:21 瀏覽:819
引用c語言 發布:2025-01-05 14:47:08 瀏覽:365
解壓版手賬本 發布:2025-01-05 14:42:13 瀏覽:769
什麼是t1編譯環境 發布:2025-01-05 14:42:04 瀏覽:187
搭建區域網伺服器作為雲盤 發布:2025-01-05 14:34:52 瀏覽:43
在cmd中編譯java文件 發布:2025-01-05 14:34:12 瀏覽:603
如何配置httplib 發布:2025-01-05 14:32:38 瀏覽:377
網站交流源碼 發布:2025-01-05 14:24:42 瀏覽:114
渦旋壓縮機工作原理 發布:2025-01-05 14:23:08 瀏覽:629
伺服器在那個國家有什麼意思 發布:2025-01-05 14:23:01 瀏覽:410