用小白鼠試驗毒水問題

2021-09-01 19:06:16 字數 518 閱讀 4530

問題一:8瓶水,其中一瓶有毒,問要找出有毒的水,你至少要嘗試幾次?(前提是毒不死人的)

問題二:還是這個題目,另外提供一群小白鼠,現在要你同時給n只小白鼠喝水,問至少需要幾隻小白鼠能一次性找出毒水?

問題一比較簡單,二分法,假設瓶子編號依次為0 1 2 3 4 5 6 7,先等分成2份,然後從其中乙份中取出點水混合下,喝,有問題則毒水在這份中,沒問題則毒水在另乙份中,然後再二分,這樣只需要嘗試3次, 2^3=8。

問題二:至少需要3只小白鼠,二進位制思想2^3=8,小白鼠喝完水的狀態只有2種,要麼生要麼死,因此要判斷8瓶水,必須要有3只白鼠才可以。

a b c

0 0 0

0 0 1

0 1 0

0 1 1

1 0 0

1 0 1

1 1 0

1 1 1

a b c分別是三隻小白鼠,每只白鼠喝編號為它的下面出現1的數字代表的瓶,如a喝 4 5 6 7瓶,b喝 2 3 6 7,c喝1 3 5 7。或者喝下面出現0的數字代表的瓶也行。

小白鼠鑑別有毒水問題

題目 有1000瓶水,其中有一瓶有毒,小白鼠只要嘗一點帶毒的水24小時後就會死亡,至少要多少只小白鼠才能在24小時時鑑別出哪瓶水有毒。將1000瓶水編號。準備10個盤子並編號。準備10只小白鼠並編號 2 10 1024,用二進位制表示為10000000000,一共有11位,因為1024 1000,所...

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

理解 需要用最少的小白鼠查出哪瓶是毒藥水,所以就不能用1000只小白鼠 我們可以嘗試使用程式設計的思維看待這個問題 一 將1000個瓶子都貼上標籤,1 1000.二 將1 1000翻譯成二進位制編碼,可以看出210只是1024,所以只需要,10個位數就能表達1 1000.三 在十個位數上分別放上乙隻...

小白鼠排隊

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