经典面试智力题:老鼠和毒药问题(二进制应用)

老鼠和毒药

实验室有100个瓶子,其中有一瓶装有慢性毒药(第3天发做),另外99瓶装有蒸馏水。请问至少须要多少只小白鼠才能在3天内找出哪一瓶是慢性毒药?编码

利用二进制来作,最少的老鼠数量就是计算2的多少次方大于等于瓶子数量,例如本题为7。对100瓶进行二进制编码,这样能够排列出1xxxxxx,x1xxxxxx,...,xxxxxx1这样的七组序列。7只老鼠分别去喝这些组合的药。spa

第1只老鼠死了,说明有毒的药第1位必定是1,反之必定是0class

同理第二只,第三只。。。二进制

能够肯定有毒药的药物的二进制表示。di

这个思路是如何想到的,思想就是老鼠的状态只有01有两种,恰好和二进制表示相对应。co

相关文章
相关标签/搜索