世界上最难的逻辑题!

有甲、乙、丙三个精灵,其中一个只说真话,另外一个只说假话。还有一个随机地决定何时说真话,何时说假话。你可以向这三个精灵发问三条是非题,而你的任务是从他们的答案找出谁说真话... 有甲、乙、丙三个精灵,其中一个只说真话,另外一个只说假话。还有一个随机地决定何时说真话,何时说假话。你可以向这三个精灵发问三条是非题,而你的任务是从他们的答案找出谁说真话,谁说假话,谁是随机答话。这个难题困难的地方是这些精灵会以“Da”或“Ja”回答,但你并不知道它们的意思,只知道其中一个字代表“对”,另外一个字代表“错”。你应该问那三条问题呢? 展开
brovezone
2011-07-10 · TA获得超过2649个赞
知道小有建树答主
回答量:254
采纳率:0%
帮助的人:457万
展开全部
设三个精灵分别为 A、B、C,说真话、说假话、随机精灵分别为 T、F、X,“是”和“否”分别为 Y、N。    应该分两步来走,第一步是找出谁是 X,第二步是辨别哪个是 T 哪个是 F。    第一步:    1. 问 A:    “B 是否会说你是说真话的精灵?”    会有三种结果:    1.1. A 不回答。  1.2. A 回答 Da。  1.3. A 回答 Ja。    为什么会有第一种呢?因为有可能 B 就是 X,这种情况下,不管 A 是 T 还是 F,它都不知道 B 会怎么回答,所以无法回答这个问题。如果是这种情况,那么第一步完成。否则就可以确定 B 不是 X。    2. 问 C:    “A 是否会说你是说真话的精灵?”    同样会有三种结果:    2.1. C 不回答。  2.2. C 回答 Da。  2.3. C 回答 Ja。    同样,如果是第一种情况,说明 A 就是 X,否则说明 B 和 A 都不是 X,那么 C 才是 X。第一步完成。    第二步:    经过第一步,一定可以排除掉 X,我们就假设被排除掉的是 C,其它情况同理可证,然后问最后一个没问过的精灵以下问题    “那个非随机精灵是否会用 ‘Da’ 来回答你是否是说真话的精灵?”    假设我们问的,也就是最后一个精灵是 B,那么可能有以下情况:    1:A:T B:F Da=Y Ja=N  2:A:T B:F Da=N Ja=Y  3:A:F B:T Da=Y Ja=N  4:A:F B:T Da=N Ja=Y    1:    问题变成“那个非随机精灵是否会用 Y 来回答你是否是说真话的精灵?”    因为 A 是 T,B 是 F,所以 A 必定以 N 来回答“B 是否是说真话的精灵”,而又因为 B 是 F ,所以 B 知道 A 会回答 N,于是 B 说谎,它会用 Y 来回答“A 是否会用 Y 来回答你是否是说真话的精灵”,即 B 回答 Da。    2:    问题变成“那个非随机精灵是否会用 N 来回答你是否是说真话的精灵?”    因为 A 是 T,B 是 F,所以 A 必定以 N 来回答“B 是否是说真话的精灵”,而又因为 B 是 F ,所以 B 知道 A 会回答 N,于是 B 说谎,它会用 N 来回答“A 是否会用 N 来回答你是否是说真话的精灵”,即 B 回答 Da    3:    问题变成“那个非随机精灵是否会用 Y 来回答你是否是说真话的精灵?”    因为 A 是 F,B 是 T,所以 A 必定以 N 来回答“B 是否是说真话的精灵”,而又因为 B 是 T ,所以 B 知道 A 会回答 N,于是 B 会用 N 来回答“A 是否会用 Y 来回答你是否是说真话的精灵”,即 B 回答 Ja。    4:    问题变成“那个非随机精灵是否会用 N 来回答你是否是说真话的精灵?”    因为 A 是 F,B 是 T,所以 A 必定以 N 来回答“B 是否是说真话的精灵”,而又因为 B 是 T ,所以 B 知道 A 会回答 N,于是 B 会用 Y 来回答“A 是否会用 N 来回答你是否是说真话的精灵”,即 B 回答 Ja。    综上所述,    如果第二步的问题回答 Da, 则情况是:    A:T B:F C:X    如果第二步的问题回答 Ja, 则情况是.:    A:F B:T C:X

还有一些答案:http://wenwen.soso.com/z/q144644899.htm
http://wenwen.soso.com/z/q64538091.htm

希望可以帮到你~
ahwei3
2011-07-12 · TA获得超过4.3万个赞
知道大有可为答主
回答量:8816
采纳率:0%
帮助的人:7509万
展开全部
楼上这样貌似三条不够哦!这题好像不算很难。

1. 先确定 Da 和 Ja 哪个是Yes ,哪个是No 。如果经常做逻辑题这个很简单对吗?只要问:“你是说真话的精灵吗?”。至少肯定有两个(说真话的和说假话的)说“Yes” 。这样Da 和Ja 各是什么意思就知道了。下面简单起见,就用Yes ,No 来说了。

2. 设法先排除一个。可以问:“你是说话随机的那个精灵吗?”。这时说真话的回答No;说假话的回答 Yes;随机说话的可能Yes,可能No。这样就只有两种可能:一个Yes ,两个No;或是一个No,两个Yes 。对不对?这样可以先知道单个那个是谁了。如果是一个Yes,那么这个人就是说假话的;如果是一个No,那么这个就是说真话的。

3. 这下傻瓜都知道怎么问了。只要问已经确定的那个。如果确定的是说真话的,就指着另外随便哪个问他:“他是说话随机的那个吗?”。他说是就是,说不是就不是。如果确定的是说假话的。同样的问题问他。他说是就不是,说不是就是。两个知道了,另一个自然就知道了。

归纳一下,这3个问题如下:

1. 你是说真话的精灵吗?
2. 你是说话随机的那个精灵吗?
3. 他是说话随机的那个精灵吗?

如果有哪里想不明白的欢迎追问。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
steven133
2011-07-12 · 超过40用户采纳过TA的回答
知道小有建树答主
回答量:197
采纳率:0%
帮助的人:155万
展开全部
设真话精灵为 T 假话为 F 半真半假为 U
1.问所有精灵:你是T吗?
T必然会说是,F也会说是,U随便说什么,这样就可以分辨DA JA那个是“是”(只需要找到相同的两个就是“是”)
2.问所以精灵:你是U吗?
T会说:不是 F会说:是 U依旧随便说什么
两种情况,当场上呈现: 不是 是 是 时,说不是的那个就是T
当场上呈现:不是 是 不是时,说是的那个是F
3.当你知道哪个是T时,直接随便指一个问他:他是F吗?
T说是就是,那么另外一个就是U
T说不是,那么另外一个就是F,这个是U
当你知道哪个是F时,随便指一个问他:他是T吗?
F说是就不是,它是U,另一个是T
F说不是,它就是T,另一个是U。
解答完毕,全文都是自己手打的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
有子孙多年甜4904
2012-04-21 · TA获得超过6.1万个赞
知道大有可为答主
回答量:3.8万
采纳率:0%
帮助的人:4897万
展开全部
真简单!第一个问题先问甲,Da是代表对,对吗?
由验证可以得出,不管Da是代表对还是错,说真话的人都会选Da,说假话的人都会选Ja。由此可得,当问甲Da是代表对,对吗?这个问题时,有两种情况。
情况一、如果甲回答Da,则甲(真或随机)
情况二、如果甲回答Ja,则甲(假或随机)
2.下面你会说真(假)话,对吗?
说假(真)话的人是没有办法回答的。因此只要回答,这个人心不是说假(真)话的人,只能是说真(假)话的人或随机的人。
3.
持刀片片杀一只狐狸,对吗?
由于三人都不知道对错,因此只有随机的人会回答,因此,只要回答了的人,就可以判定是随机的人,另两个是说真话或说假话的人。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
来看关昕的
2013-03-13
知道答主
回答量:4
采纳率:0%
帮助的人:2.5万
展开全部
听听我的答案
下午突然想出来的,运气好的话两个问题就能解决这个号称“世界上最难的逻辑题”
我直接先公布问题答案:
问题1:“‘剩下的两个精灵中其中一个精灵对另一个精灵说你(选出来的精灵)说的话是真的’这是真的吗”
问题2:“‘他说你说的话是真的’这是真的吗”(看不懂的没关系,我来解释)
假设这3个精灵分别为A,B,C,A是说真话的精灵,B是随机精灵,C是说假话的精灵
当然,这只是假设,便于理解,A,B,C可以是任意一种精灵,我只是假设一下,A是说真话的精灵,B是随机精灵,C是说假话的精灵
我来详解:我要从3个精灵中任意抽取一个精灵提问,当然,我也不知道抽取的是什么精灵,假设抽取的是A精灵
我就对A问问题:“剩下的两个精灵中其中一个精灵对另一个精灵说你(选出来的精灵)说的话是真的’这是真的吗”又要假设,假设其中一个精灵是B精灵,那另一个精灵就是C精灵了
题目变成:“"剩下的两个精灵中B对C说A说的话是真的",这是真的吗”
(懂吗?懂吗?看到这里的人,懂吗?当然,ABC他们的出场顺序我们是完全不知道的)
我们只可能得到两种答案
答案1:不做声
答案2:做声,(是或者否,也就是DA或者JA)
我来解释:如果不做声,抽出来的精灵一定是A说真话的精灵或者是C说假话的精灵,如果做声,就是随机精灵,我来解释:为什么呢,因为:假设A是真精灵,我们对A精灵发问:“剩下的两个精灵中B精灵跟C精灵说你说的话是真的”这是真的吗?假设B精灵是随机精灵,那C精灵就是说假话的精灵了,因为B是随机精灵,他的回答是不确定的,一个不确定回答问一个说假话精灵的,得到的答案就连说真话的A都不一定能准确真面回答,所以A只能不做声(能理解吗?能理解吗?)
一样,假设A精灵还是A精灵,B精灵和C精灵换个位置,
问题就变成了:我们问A:"剩下的两个精灵中C精灵对B精灵说A精灵说的话是真的"这是真的吗?同样,A也回答不出来,因为一个说假话的精灵对一个随机精灵说A精灵说 的话是真的,那个说假话的精灵也确定不了随机精灵说的话是真话还是假话,所以说假话的精灵也不知道自己说的话是真话还是假话,那这个说真话的A也就更不能知道自己说的话是真话还是假话了,所以A只能不做声
(懂吗?懂吗)
假设一开始抽取的精灵是B随机精灵,抽取的时候,我们事先也不知道是什么精灵,我们也只能对这个抽取出来的精灵发问,得到答案,
假设抽取的是B,
问题变成:"剩下的两个精灵中其中一个精灵对另一个精灵说你说的话是真的"这是真的吗?
这个时候得到的答案肯定会做声,只要一做声就是B,因为其中一个精灵无论是A还是C对另一个精灵无论是A还是C,他是不矛盾的,而且得到的答案正好也是随机精灵的回答,慢慢看 ,看到最后就知道了,
(懂吗?懂吗?看到这里来的人懂吗)
前面两个问题主要是为了先分出随机精灵是哪个,在从剩下的两个精灵中分出哪个精灵说真话,哪个精灵说假话,等下听我慢慢解释,为什么说两个问题就可以分出所有的精灵呢,因为有一种可能是看运气,如果我们一开始抽取的是随机精灵,那么两个问题就够了,
如果一开始抽出来的是A精灵或者是C精灵,我们在这里假设一开始抽取出来的是C精灵,答案是不做声,只要不做声就是A精灵或者是C精灵(就是说真话的精灵或者是说假话的精灵),做声就是B精灵,(理解吗?理解吗?)
好,接下来最后一个问题解释一下区分真精灵和假精灵,
假设抽取出来的是A真精灵,我们就对他问:“他说你说的话是真的”这是真的吗?问题中他是假精灵,你是真精灵,
问题就变成:“C说A的话是真的”这是真的吗?
假设抽取出来的A,你说的话是真的,但是C说你说的话是真的,那就是假的了,这是真的吗?我们看A又是一个说真话的人,所以A的回答是“错”
回答的只要是错就是A

假设一开始抽取出来的是C假精灵,我们就对假精灵问:“他(A)说你(C)说的话”是真的吗?这是真的吗?(我草写到这里的时候我自己都点分不清了)继续 你说的话是假的,但是从A口里说出来后说你说的话是真的,这是真的吗?假精灵一定会说,这是真的,也就是对,为什么,因为他在说谎
方法绝对是对的,就是写到最后有点乱,在这里面用到了以前学的数学命题(就是真真,真假,假真,假假)这些命题
望采纳,也请各位路过的高手看看有没有问题,或者是漏洞,
如果我的这个方法能 解释这个题的话,就违背了这个题目,因为精灵只会回答DA和JA,他并没有出现沉默或者是不做声情况,如果这个答案是错的话,那么第1个正确回答这个问题的人也是错的,也就是一楼,如果他的答案也不正确的话,那么这个题的答案只有出这个题的Raymond Smullyan本人知道了!!!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2011-07-14
展开全部
1问:你们是说真话的精灵吗?

答案有如下可能:两个精灵回答Da一个回答Ja或两个答Ja,一个答Da.则回答与另外两个不一样的那个精录一定是“随机决定何时说真话”的精灵。答案除以上两种可能外,还有一种可能是三个回答都是一样的,如果都是Da刚Da代表“是”,如果都是Ja则Ja代表“是”。如果回答不是相同的,则多的那个代表“是”。

通过第一步,如果直接找出了随机决定何时说真话的精灵,则只剩两个精灵。且此时,已经知道哪个代表是,哪个代表不是。然后问剩下的两个精灵,你们是随机决定何时说真话的精灵吗?说假话的精灵会回答“是”。则只要两个问题,就可以判断出结果了。

如果没能直接找出随机说真话的精灵,即三个精灵的回答都是一样的。则问第二个问题。

2问:你们是随机决定何时说真的话的精灵吗?

此时已经通过第一问知道哪个代表“是”。如果有两个回答“是”,则回答“不是”的那个必是说真话的精灵。如果两个回答不是,则回答“是”的那个必是说假话的。

3问:要分两种情况。如果找出的是说真话的精灵,则随便指着一个问他,这个是不是说假话的精灵,就可以判断出结果;如果找出的是说假话的精灵,就随便指一个精灵,问他这个是不是说真话,然后作出相反的判断就可以得到结果了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式