这是个概率学问题,在计算机中也是个进制问题,我看了网上一些关于这个问题的解答,感觉有的人说的并不清楚,或者感觉有的写解答的人自己都没太搞清楚,回答也不对,只是因为知道答案是5硬往上套.这个问题,首先判断用的是多少进制,这个根据猪在一小时内能有几种状态:
一.0分钟喝水,15分钟死去
二.15分钟活着再喝水,30分钟死去
三.30分钟活着再喝水,45分钟死去
四.45分钟活着再喝水,60分钟死去
五.60分钟还活着
有这五种状态,那么可以判断求解要用五进制,为什么用五进制,因为用五进制可以保证在1个小时结束后,一头猪至少能把一个五进制位置的数字的所有可能都判断掉(0,1,2,3,4),所以每一头猪它代表的不是猪,一个五进制的数字!
所以,至少需要几头猪?
那我们选的猪的数量,至少要保证这个位数的五进制数>1000!如果是4头猪,那么就代表能判定最多4位五进制,最大的4444转成十进制=624,所以答案是五头猪,因为五位五进制,最大的44444的五进制数,转成十进制是3124!
具体操作:我们把这1000头猪编号,按五进制编号,这样有1000个五进制数字.为了方便我们把猪编号1 2 3 4 5,代表五位五进制的五个位数,即某个X X X X X
0-15分钟,我们让1号喝1位都是0的桶的水,但是其他位数不能为0,比如10 ,110,3220...这种,让2号猪喝2号位置为0,其他位置不为0的桶的水....五号猪喝五号位0,其他位置不为0的水.(注意:我们这时并没有把所有的桶的水都喝完,也就是15分钟过去也可能没有猪死去!)
15-30分钟,假如有猪死去,比如一号猪死了,那么能确定这个五进制数的一号位是0,那么其余四头猪再喝水的时候,二号猪就喝2号位是1,1号位是零!其余位置不为1也不为0的水(因为345号位置的带零的数字都已经测过了),三号猪就喝3号位是1,1号位是0,其余位置不为1也不为0的水.4,5号猪以此类推.
假如没有猪死,那一号就喝一号位为1的其余位置不为1也不为0的水,二号位喝二号位为1,其余位置不为1也不为0的水,以此类推
30-45分钟 .....
一个小时后,我们就能确定这个五位数的五进制数五个位置的所有数字是多少了