Skip to content

Latest commit

 

History

History
19 lines (14 loc) · 793 Bytes

小鼠喝牛奶.md

File metadata and controls

19 lines (14 loc) · 793 Bytes

小鼠喝牛奶

描述

10杯牛奶, 其中1杯有毒, 小鼠喝完有毒的牛奶后在一天之后会死亡, 问最少用几只小鼠可以在一天后找到那杯有毒的牛奶

分析

二进制问题

10杯牛奶编号分别是 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 . 
第一只小鼠喝最低位(第一位)为1的所有牛奶, 第二只小鼠喝第二位为1的所有牛奶, 第三只小鼠喝第三位为1的所有牛奶, 第四只小鼠喝第四位为1的所有牛奶.
如果第一只、第三只小鼠死亡, 说明第一位和第三位为1, 其它位为0, 即0101这杯牛奶有问题.

所以, 因为10最多用4个二进制位表示, 每个二进制位都有一只小鼠, 即最多是4只小鼠, 
总结公式就是: 2^n >= 10 n最小值 = 4