1.有1000桶酒,其中1桶有毒。而一旦吃了,毒性会在1周后发作。现在我们用小老鼠做实验,要在1周后找出那桶毒酒,最少需要多少老鼠? (老鼠的使用量越少越好,注意,毒性1周后才会发作,而且一周后必须出结果,所以时间紧迫) ..
答:10只。
这道题主要考的是二进制编码问题。
将1000进行二进制编码,总共需要二进制位为10位。
对老鼠进行编号:
第一只老鼠:0000000001
第二只老鼠:0000000010
第三只老鼠:0000000100
。。。
第十只老鼠:1000000000
每次,只让酒桶编号与自己编码相与为1的老鼠喝下酒,比如第一桶酒二进制编码为0000000001,就让第1只老鼠喝,第二桶酒二进制编码为0000000010,就让第2只老鼠喝,第三桶酒二进制编码为0000000011,就让第1、2只老鼠喝,。。。,第七十桶酒的二进制编码为0001000110。就让第2,3,7只老鼠喝。最后,如果是第1、2只老鼠死掉,说明是第三桶酒有毒,如果是第2、3、7只老鼠死掉,说明是第七十桶酒有毒。