思路:
使用二進制的格式來給每瓶水做標記,
第一瓶水:0000000001
第二瓶水:0000000010
第三瓶水:0000000011
.
.
.
第1000瓶水:1111101000
然后可以看出1000瓶水需要二進制數的位數為10位,所以找10只小白鼠,第一只小白鼠只和二進制數第一位為1的水,第二支小白鼠喝二進制數第二位為1的水,以此類推,第10只小白鼠喝二進制數第10位為1的水。
假如7天后1,3,5三只小白鼠死了,所以二進制數為1010100000,轉換為10進制數為29+27+2^5=672
所以需要10只小白鼠就可以,此類問題既需要用二進制表表示最大數就可以了,比如1000瓶水,210是1024,因為需要10只老鼠,100瓶水,27是128,所以需要7只老鼠