面試題 老鼠喝毒藥(二進位制編碼)

2021-09-19 16:37:45 字數 1235 閱讀 9451

我們有很多瓶無色的液體,其中有一瓶是毒藥,其它都是蒸餾水,實驗的小白鼠喝了以後會在5分鐘後死亡,而喝到蒸餾水的小白鼠則一切正常。現在有5只小白鼠,請問一下,我們用這五隻小白鼠,5分鐘的時間,能夠檢測多少瓶液體的成分?

從簡單的出發:

先是2只小白鼠,則有

這種情況,喝字你可以認為是0或1

所以每個瓶子的編號都能夠通過喝字來確認,比如說:

1號瓶子有毒,則n1會死 n2不會死 ,這種情況就會標記到1號瓶子

然後看個更複雜的情況試試看,3只老鼠

通過如上的編碼方式我們可以看到:

我們給每個瓶子的藥給不同的老鼠喝,這樣就構成了通過老鼠死亡存活情況標記下的2進製編碼,每個瓶子對乙個

從00001 到 11111 共(2的5次方-1 )=31種!

注:00000是不存在的,因為總有乙個瓶子有毒,總會有乙隻老鼠會死~

我們有很多瓶無色的液體,其中有一瓶是毒藥,其它都是蒸餾水,實驗的小白鼠喝了以後會在5分鐘後死亡,而喝到蒸餾水的小白鼠則一切正常。現在有5只小白鼠,請問一下,我們用這五隻小白鼠,5分鐘的時間,能夠檢測多少瓶液體的成分?

從簡單的出發:

先是2只小白鼠,則有

這種情況,喝字你可以認為是0或1

所以每個瓶子的編號都能夠通過喝字來確認,比如說:

1號瓶子有毒,則n1會死 n2不會死 ,這種情況就會標記到1號瓶子

然後看個更複雜的情況試試看,3只老鼠

通過如上的編碼方式我們可以看到:

我們給每個瓶子的藥給不同的老鼠喝,這樣就構成了通過老鼠死亡存活情況標記下的2進製編碼,每個瓶子對乙個

從00001 到 11111 共(2的5次方-1 )=31種!

注:00000是不存在的,因為總有乙個瓶子有毒,總會有乙隻老鼠會死~

面試題 二進位制

之前論壇看到乙個面試題,很基礎的考察按位符運算,總結如下 按位與 只有對應的兩個二進位均為1時 結果位才為 1,否則為0。舉例 比如9 5,其實就是1001 101 1,因此9 5 1 規律 二進位制中,與 1相 就保持原位,與 0相 就為 0int fun int nvalue return nc...

負二進位制的面試題

今天看到一篇關於面試atc的心得,呵呵,裡面提到了乙個負二進位制的題目 d m 也真夠能折騰的。1.如何用負二進位制表述十進位制等式5 3 8?原題 解 dcba 2 d 2 3 c 2 2 b 2 1 a 2 0 dec d 2 3 c 2 2 b 2 1 d dec 則 101 neg bin ...

老鼠喝酒問題(二進位制編碼的妙用)

老鼠喝酒問題 一共1000瓶酒,其中一瓶有毒。如果乙隻老鼠喝了有毒的酒,會在一天之後死亡,那麼如果給你一天時間,然你判定哪瓶酒有毒,至少需要幾隻老鼠?答案是10只。這個需要使用二進位制編碼來解決,1000瓶酒至少需要10位二進位制數來進行編碼。然後取十隻杯子分別代表這是個二進位制數的十個位,分別將1...