演算法實現 二進位制老鼠測毒

2021-08-06 02:52:47 字數 2031 閱讀 9290

有11瓶啤酒,1瓶有毒。喝酒之後,三天會死,只有三天時間。請問至少需要多少只老鼠,可以找到9瓶沒有毒的?

public class unluckyrat 

binarybeers.add(result);

}system.out.println(" " + binarybeers);

system.out.println(" 2、編號為1的小白鼠喝 末位為1 的酒");

//firstrat 喝末位為1的酒

listfirstrat = binarybeers.stream().filter(s -> s.endswith("1")).collect(collectors.tolist());

system.out.println(" " + firstrat);

system.out.println(" 編號為2的小白鼠 喝倒數第二位為1 的酒");

//secondrat 喝倒數第二位為1的酒

listsecondrat = binarybeers.stream().filter(s -> s.substring(0,s.length()-1).endswith("1")).collect(collectors.tolist());

system.out.println(" " + secondrat);

system.out.println(" 編號為3的小白鼠 喝倒數第三位為1 的酒");

//thirdrat 喝倒數第三位為1的酒

listthirdrat = binarybeers.stream().filter(s -> s.substring(0,s.length()-2).endswith("1")).collect(collectors.tolist());

system.out.println(" " + thirdrat);

system.out.println(" 3、通過三隻老鼠的生存狀況 來判斷是否滿足9瓶酒沒有毒");

//三隻老鼠的生存狀況 1死 0活

listratislive = new arraylist<>();

for(int i = 0; i < 8; i ++)

ratislive.add(result);

}system.out.println(" 共有 8 種可能:" + ratislive);

system.out.println(" 以 000 三隻老鼠均未死為例:");

//000 三隻都未死

listfirstresult = new arraylist<>();

addall(firstrat,secondrat,firstresult);

addall(secondrat,thirdrat,firstresult);

setsecondresult = new hashset<>();

secondresult.addall(firstresult);

listthirdresult = new arraylist<>();

thirdresult.addall(secondresult);

integer finalresult = new integer[thirdresult.size()];

for(int i = 0 ; i < thirdresult.size(); i ++)

arrays.sort(finalresult);

system.out.println(" 沒有毒的啤酒編號:" + arrays.tostring(finalresult));

二進位制演算法

首先是6個二進位制的運算子 運算子 含義 描述 按位與 如果兩個相應的二進位制位都為1,則該位的結果值為1,否則為0 按位或 兩個相應的二進位制位中只要有乙個為1,該位的結果值為1 按位異或 若參加運算的兩個二進位制位值相同則為0,否則為1 取反 是一元運算子,用來對乙個二進位制數按位取反,即將0變...

二進位制 二進位制起源

現代通訊技術的基礎是二進位制編碼。早在1865年麥克斯韋總結出麥克斯韋方程組之前,美國人摩斯 morse 於1837年發明了摩斯電碼和有線電報。有線電報的出現,具有劃時代的意義 它讓人類獲得了一種全新的資訊傳遞方式,這種方式 看不見 摸不著 聽不到 完全不同於以往的信件 旗語 號角 烽火,這也是二進...

老鼠農藥問題(二進位制狀態壓縮)

解題思路 給1000個瓶分別標上如下標籤 10位長度 0000000001 第1瓶 0000000010 第2瓶 0000000011 第3瓶 1111101000 第1000瓶 從編號最後1位是1的所有的瓶子裡面取出1滴混在一起 比如從第一瓶,第三瓶,裡分別取出一滴混在一起 並標上記號為1。以此類...