智力题一:有8个瓶子其中只有一个瓶子有毒,问至少需要几只老鼠能够知道哪瓶有毒?
思路:一个瓶子有毒没毒这是一个布尔型数据,2^3=8,所以需要三只老鼠。具体的做法如下:
000=0
001=1
010=2
011=3
100=4
101=5
110=6
111=7
每一位上放一只老鼠,这只老鼠只负责喝掉该位是1的瓶子,比如第一位上的老鼠要喝掉1、3、5、7号瓶子,第二位上的老鼠要喝掉2、3、6、7号瓶子,第三位的老鼠要喝掉4、5、6、7号瓶子,比如第一只老鼠死了,第二只老鼠没死,第三只老鼠死了,则说明101=5号瓶没毒。
同理,2^10=1024,所以10只老鼠能够确定1000个瓶子哪瓶有毒,2^10=1024<2012<2^11=2048,所以至少需要11只老鼠能确定2012个瓶子哪瓶有毒,以此类推。
智力题二:今天是周二,问再过10^100天是星期几?
思路:这个问题可以用二项式定理来算,
,所以相当于过了4天,所以答案是星期六。