1000桶水,其中三桶有毒,猪喝毒水后会在15分钟内死去,想用一个小时找到这桶毒水,至少需要几头猪?
限制条件:
1.一桶毒水足以导致一头猪的死亡。
2.猪很健康,没有疾病,也不会出现意外事故。其死亡只是毒水导致的,不会有其他因素导致死亡。
3.猪的承水量无穷大,因此不考虑猪因饮用了过量的水而拒绝继续实验的情况,且假设饮一桶花费时间为零。
:::
简单的例子:两只猪,25桶水。将水桶(@)如下排列:
1 2 3 4 5
一 @ @ @ @ @
二 @ @ @ @ @
三 @ @ @ @ @
四 @ @ @ @ @
五 @ @ @ @ @
头15分钟:
第一头猪喝位于(1,一)、(1,二)、(1,三)、(1,四)和(1,五)的水;
第二头猪喝位于(1,一)、(2,一)、(3,一)、(4,一)和(5,一)的水。
换种说法,每个15分钟内,两只猪分别喝一列水和一排水。
这样,一小时后毒水的坐标可以表示为:
1. 若两只猪都死了:
2. 只死了一只:
1) 第一只猪死了:
2) 第二只猪死了:
3. 都没死:
所以,对于三只猪、125桶水:可以用(排,列,层)表示;对于四只猪、625桶水,可以用(排,列,层,第四个空间维度的表示法)表示。
当然并不一定要把水桶排成四维的,只要正确地给它们编上号就行了。
因此,经过简单类推,对于每只猪能喝五排/五列的情况,能确定是否有毒的水桶数应当是:
又因为5的4次方625小于1000,5的5次方3125大于1000,因此需要5只猪。