查看: 2480|回复: 14

[逻辑推理] 也是刚刚看到的

转载  简洁模式
发表于 2013-10-31 00:52:48
从前有一个国王,他拥有1000瓶葡萄酒,国王将在明天(也就是24小时之后)举办一个大型的庆祝活动,并需要这1000瓶葡萄酒用于宴请,但从间谍得到消息,这1000瓶酒中的其中一瓶,被人下了毒,而这种毒为慢性毒药,中毒者当场不会有任何表现,而是在10-20小时左右才会表现出中毒样并毒发身亡
国王拥有成千上万的奴隶正在建造新宫殿,他可以从中选取一定数量的奴隶来充当试酒的人,而因为选中的人会耽误工程,所以他希望能够选最少的奴隶试酒并找出那瓶毒酒
假如你就是那个国王,假如你拥有足够多用于试酒的杯子,你最少需要多少名奴隶才能在24小时之内找出哪一瓶为毒酒

事先声明,我没有度娘,如果度娘上有答案,那这道题就算了,我只是想了一会儿觉得没什么头绪,所以发上来给大家看看。
发表于 2013-10-31 03:54:30
试喝1。2。3。4。。。999
第1000瓶不必喝,因为前面999瓶都没毒的话,最后1瓶必有毒。
因为重点是找出''最少需要多少名奴隶才能在24小时之内找出那瓶毒酒'',
所以不论其他的,可让几个奴隶喝同一瓶。

目前想到比较节约人力的方式:
第1个奴隶喝1。2
第2个奴隶喝2。3。4
第3个奴隶喝4。5。6
第4个奴隶喝6。7。8
。。。
第499个奴隶喝996。997。998
第500个奴隶喝998。999

快天亮了,没找度娘,可能有更好的解法。
发表于 2013-10-31 08:51:40
熟知..
每个人可以将之二分,故很容易得到一个log的界.
由二进制,此界很容易构造得到.
发表于 2013-10-31 09:14:12
简单啊,只需要一个奴隶就可以了啊。。。只要在一个杯子里倒上每瓶一点红酒,让奴隶都喝上一点,喝完了总会河道有毒药的一瓶,等20小时就行啦!!
登录帐号可查看完整回帖内容
发表于 2013-10-31 10:07:53
我觉得最少得333人。
两个人一共喝三瓶,就是这两个人每人喝自己的一瓶,然后共享一瓶。如果两个人都死了就知道共享的那个是坏酒。所以333*3=999
发表于 2013-10-31 10:27:06
不对。。其实还可以这样,4个人每人喝自己的一瓶,然后共享3瓶,然后在找来另外的两个人各自在那3瓶共享的酒里挑一瓶。如果那4个人死了,那就是找来的那两个人没有喝的那瓶,如果是找来的两人其中一个和那4个人一起死了,就说明坏酒是找来的那人挑走的那个。如果那两个人其中一个死了,而那4人没死,说明那人自己的酒是坏的。按此推理的话,3人共享两瓶要找另一个人,4人共享3瓶要找两人,5人共享4瓶要找3人。而他们每个人都有属于自己的一瓶。所以4人一共喝6。6人一共喝9,8人一共喝12...n人喝n+n/2.
n+n/2=1000      数学太烂了。。不会算!

a3643 于 2013-10-31 10:30 对帖子补充以下内容

:ali_xiu:好像不是最简单的方法啊!!!
楼主| 发表于 2013-10-31 15:09:36
度娘的结果是2进制,但是基本都不说怎么做或者为什么,大概是反复度娘的结果。如果从题目入手,那就是,所有的酒只有两种可能——有毒或者没毒,那么只存在1或者0的问题。我猜这大概就是2进制的起源了(纯属自己臆测)。度娘出来的回复都说是用2进制,其实具体怎么用估计都是不知道,复制粘贴就罢了。我说说我的理解,1000这个数字转换为2进制,是1111101000,是十位数字,我想应该是将1至1000号的葡萄酒分别转换为2进制数字,并依次取样,第一位数是1的全部放在一起,第二位数是1的全部放在一起……依次得到10杯葡萄酒,然后找10个奴隶喝下,举例来说,如果1、3、5、7、9号奴隶死亡,就说明第1、3、5、7、9位数是1的葡萄酒有毒,那么就写下第1、3、5、7、9位数都是1,没死的奴隶,其所代表的位数写成0,这样得出一个2进制数字,再转化为10进制,应该就能找到这瓶毒葡萄酒。
但是我始终在想,能不能不用数学的方法,而采取其他方式呢?因为2进制的根本就是在于“是或者否”,同理,采取其他方法是不是也可以做到?
发表于 2013-10-31 15:38:28
我的第一反应是三分法,度娘了一下看到二进制。。。表示我们想得都弱暴了
登录帐号可查看完整回帖内容
发表于 2013-11-2 14:02:54
只要33个人 是这么算的 33个人的话 分成33组 前32个人 每个人喝31瓶酒 剩下的一个人喝8瓶酒 看看谁先中毒 如果出现了症状 那么 还有没中毒32个人取31个人就去喝中毒的哪一组的酒 这样就可以辨认出来了。
登录帐号可查看完整回帖内容
尚未登录
您需要登录后才可以回帖 登录 | 加入学院