用程式設計解決小白鼠問題

2021-10-12 10:06:14 字數 398 閱讀 4091

理解:需要用最少的小白鼠查出哪瓶是毒藥水,所以就不能用1000只小白鼠;

我們可以嘗試使用程式設計的思維看待這個問題:

一、將1000個瓶子都貼上標籤,1~1000.

二、將1~1000翻譯成二進位制編碼,可以看出210只是1024,所以只需要,10個位數就能表達1-1000.

三、在十個位數上分別放上乙隻小白鼠,給小白鼠分別標號1~10,然後就開始餵藥。

四、第一瓶就給1號小白鼠喂,第二瓶給二號喂,第三瓶給一號二號都喂,以此類推。

五、在乙個星期後就檢視小白鼠死亡情況,按照小白鼠的死亡組合推斷出具體的瓶數。

最後,來做個假設分析,如果第100個瓶子有毒,那麼可以很簡單的推算出100的二進位制數為1100100,所以如果死去的小白鼠是第三第六第七個的話,就可以確定第100個瓶子有毒。

用小白鼠試驗毒水問題

問題一 8瓶水,其中一瓶有毒,問要找出有毒的水,你至少要嘗試幾次?前提是毒不死人的 問題二 還是這個題目,另外提供一群小白鼠,現在要你同時給n只小白鼠喝水,問至少需要幾隻小白鼠能一次性找出毒水?問題一比較簡單,二分法,假設瓶子編號依次為0 1 2 3 4 5 6 7,先等分成2份,然後從其中乙份中取...

小白鼠排隊

在這裡插入 片總時間限制 1000ms 記憶體限制 65536kb 描述 n只小白鼠 1 n 100 每只鼠頭上戴著一頂有顏色的帽子。現在稱出每只白鼠的重量,要求按照白鼠重量從大到小的順序輸出它們頭上帽子的顏色。帽子的顏色用 red blue 等字串來表示。不同的小白鼠可以戴相同顏色的帽子。白鼠的重...

小白鼠排隊

n只小白鼠 1 n 100 每只鼠頭上戴著一頂有顏色的帽子。現在稱出每只白鼠的重量,要求按照白鼠重量從大到小的順序輸出它們頭上帽子的顏色。帽子的顏色用 red blue 等字串來表示。不同的小白鼠可以戴相同顏色的帽子。白鼠的重量用整數表示。多案例輸入,每個案例的輸入第一行為乙個整數n,表示小白鼠的數...