2瓶毒酒問題:這可能是你算加法最費(fèi)勁的一次


1000酒2毒,共有20只鼠:
如果有1毒,可用 log2n = 10鼠搞定。
每瓶酒有0-999的編號(hào)
要用二進(jìn)制表示

?
00:41
?如果知道|a-b|的話,只需要知道a+b就可以了。
老鼠:
- 喝{i|i&1=1}
- 喝{i|i&2=2}
k. 喝{i|i&(1<<(k-1))=(1<<(k-1))}



我們?cè)谶@里知道了a OR b
?
02:30
?
又知道了a AND b

這里其實(shí)不需要z,a&b+a|b = a+b

這里嘗試證一下
得了懶的證,直接上真值表

可以得到X^Y =Z

UP這里也證了

說實(shí)話,我們直接求S都可以了吧


這里:x+y=z+2y,也就是x=z+y,z=x-y,可以這么得。
talk is cheap, show me the 真值表

?
04:13
?這里思考一下怎么求A-B,現(xiàn)在與或抑或都有了。
不借位減法是A^B,借位是(~A&B),Emmm...等待進(jìn)一步思考把
標(biāo)簽: