酒里下毒的问题
国王有1000桶酒,藏在地窖里。敌国刺杀国王,派间谍过来偷偷在其中一桶酒中下毒了。毒无色无味,需要一天时间发作。国王知道了这个消息,由于第二天有一个宴会,需要一天就找出哪桶酒下毒了。问需要多少个死囚犯去尝酒?
回复列表
用20个囚犯尝酒,分成(1,2)(3,4)...(19,20)10组。
给每桶酒编号1,2,。。。,1000,然后把编号写成2进制,1000<1024=2的10次,所以所有编号的位数都不超过10位。
1号囚犯尝所有编号的第1位为0的酒,2号囚犯尝所有编号的第1位为1的酒
3号囚犯尝所有编号的第2位为0的酒,4号囚犯尝所有编号的第2位为1的酒
。。。。
19号囚犯尝所有编号的第10位为0的酒,20号囚犯尝所有编号的第10位为1的酒
显然10组囚犯每组都有1个会尝到毒酒而死,根据死去的囚犯就知道毒酒编号从1~10位分别是0还是1,也就找到了毒酒。
给每桶酒编号1,2,。。。,1000,然后把编号写成2进制,1000<1024=2的10次,所以所有编号的位数都不超过10位。
1号囚犯尝所有编号的第1位为0的酒,2号囚犯尝所有编号的第1位为1的酒
3号囚犯尝所有编号的第2位为0的酒,4号囚犯尝所有编号的第2位为1的酒
。。。。
19号囚犯尝所有编号的第10位为0的酒,20号囚犯尝所有编号的第10位为1的酒
显然10组囚犯每组都有1个会尝到毒酒而死,根据死去的囚犯就知道毒酒编号从1~10位分别是0还是1,也就找到了毒酒。
