1、有100瓶液体。其中有99瓶是水,一瓶是毒药,在外表上外表上完全一样。问至少需要多少只老鼠可以确定哪一瓶是毒药?
答案:需要7只。
解释:将一百瓶水编号。将编号转化为二进制。
例如:
第1瓶 :0000 001
第2瓶 :0000 010
....
第36瓶 :0100 100
....
第56瓶 :0111 000
...
第100瓶:1100 100
1、七只老鼠对应7个二进制数位。
2、将每个每个数位的数值为1的液体喂给这只老鼠(数值为0不用喂)
//每一瓶水都对应一种老鼠的死法。那些数值为0的喂不喂都没有影响。
3、最后看那几只老鼠死了就可以了。
100个犯人,排成一排报数,报到奇数枪毙,报到偶数留下,最后剩下一人放走。请问如果你想活下来,一开始你要排在哪一位呢?
答案:
解释:将100名犯人编号转化为二进制,一共需要7位二进制数位
第一次将第7位数字是1的所有人都杀掉
第二次将第6位数字是1的人杀掉(人数减半,第六位变成了第七位)
...
最后剩下的就是第一位是1的那个人: ==
所以一开始要排在64位