解法:0000001 - 1100100 這100個7位二進位制數字。(為對比方便,將不到7位的二進位製用0補全)
2. 使用7只老鼠並編號,分別對應七位數(從前到後)。讓其喝掉各自位上數字為1的液體,然後培養一周
3. 一周後將死亡小鼠編號統計。即可得到農藥液體的編號。
計算:
假設,死掉的老鼠是1、4、6,則表示:
1:首位,該農藥編號首位為1,
4:該農藥第四位上編號為1,
6:該農藥第四位上編號為1。
其他老鼠存活,說明該農藥其他位上不為1,為0:
課後作業
個人解答
還是利用二進位制將資料處理再求解:
已知有100個人,最後要僅留下一人(偶數),則該人每次排隊時都得要是偶數才可留到最後。
因為總共100人,可以用7位的二進位制數將該100人編號都表示。(0000001 - 1100100)因為每次排隊後都是進行了減半處理(如果是2的倍數,更好理解,如32),直至為1。
所以,該數x滿足:
1. x<=100,即:x <= 1100100
2. x的二進位制數除首位都為0(2的倍數==偶數)思考:
這種通過進製轉換方法求解問題,類似於傅利葉變換對聲音或影象的處理解決方法。用另一種方法或角度描述同乙個資訊(農藥編號、存活人編號)。而同一資訊的另一種描述資料更容易被處理和求解。也就達到了快速高效求解複雜問題的目的。
老鼠農藥問題(二進位制狀態壓縮)
解題思路 給1000個瓶分別標上如下標籤 10位長度 0000000001 第1瓶 0000000010 第2瓶 0000000011 第3瓶 1111101000 第1000瓶 從編號最後1位是1的所有的瓶子裡面取出1滴混在一起 比如從第一瓶,第三瓶,裡分別取出一滴混在一起 並標上記號為1。以此類...
PHP函式類巢狀及類的使用問題
在使用php巢狀函式和類時要注意幾個問題 1 函式和類的作用域是全域性的。不管它們是在 定義的,他們都是全域性可見的。function parent son son 2 函式裡的變數作用域只是在本函式裡面。別指望它可以在inner function裡使用 function parent son nu...
類地記憶體分配問題及static變數問題
1.類的大小為類的非static成員資料的型別大小之和,也 就是說靜態成員資料不作考慮。2.普通成員函式與sizeof無關。3.虛函式由於要維護在虛函式表,所以要佔據乙個指標大小,也就是4位元組。4.類的總大小也遵守類似class位元組對齊的,調整規則。5.空類的sizeof是1,因為每個例項占有獨...