100-91
2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>
91.1.一道著名的毒酒問(wèn)題有1000桶酒,其中1桶有毒。而一旦吃了,毒性會(huì)在1周后發(fā)作。現(xiàn)在我們用小老鼠做實(shí)驗(yàn),要在1周內(nèi)找出那桶毒酒,問(wèn)最少需要多少老鼠。
2.有趣的石頭問(wèn)題
有一堆1萬(wàn)個(gè)石頭和1萬(wàn)個(gè)木頭,對(duì)于每個(gè)石頭都有1個(gè)木頭和它重量一樣,
把配對(duì)的石頭和木頭找出來(lái)。
思路:
1.
如對(duì)1000桶按1~1000編碼,需要10位二進(jìn)制數(shù)。
因此只需要取10只老鼠,每只老鼠只喝其對(duì)應(yīng)位數(shù)為1的編號(hào)的酒。
即10只老鼠按以下編碼:
第一只 00000 00001
第二只 00000 00010
第三只 00000 00100
第四只 00000 01000
...
第十只 10000 00000
每只老鼠只喝其編碼與酒編碼做位與運(yùn)算非0的酒。如果毒酒的編碼在某一位為1,則監(jiān)控該位的老鼠必喝,結(jié)果為1.
即把10只老鼠的結(jié)果,按位填入一個(gè)10位二進(jìn)制數(shù)中,其結(jié)果即為毒酒編號(hào)。
例如:編號(hào)為10001 00011的酒是毒酒。則對(duì)應(yīng)的只有第一只,第二只,第六只,第十只死亡。其對(duì)應(yīng)位數(shù)置1,即為10001 00011
2.
題目給得信息比較少。。。弄不太懂。。。轉(zhuǎn)載于:https://my.oschina.net/dapengking/blog/101863
總結(jié)
- 上一篇: Ubuntu 安装 基于XMPP的Pro
- 下一篇: 个人爱好及性格