經典面試智力題:老鼠和毒藥問題(二進制應用)

老鼠和毒藥

實驗室有100個瓶子,其中有一瓶裝有慢性毒藥(第3天發做),另外99瓶裝有蒸餾水。請問至少須要多少隻小白鼠才能在3天內找出哪一瓶是慢性毒藥?編碼

利用二進制來作,最少的老鼠數量就是計算2的多少次方大於等於瓶子數量,例如本題爲7。對100瓶進行二進制編碼,這樣能夠排列出1xxxxxx,x1xxxxxx,...,xxxxxx1這樣的七組序列。7只老鼠分別去喝這些組合的藥。spa

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

同理第二隻,第三隻。。。二進制

能夠肯定有毒藥的藥物的二進制表示。di

這個思路是如何想到的,思想就是老鼠的狀態只有01有兩種,恰好和二進制表示相對應。co

相關文章
相關標籤/搜索