据说是世界上最难的逻辑题之一,有兴趣的就来试试吧

lingyin55 2009-02-19 10:05:34
加精
根据已故的麻省理工( MIT )哲学及逻辑家George Boolos,以下的趣味逻辑问题可算是全世界最难的一个。你可以解决这个难题吗?
有甲、乙、丙三个精灵,其中一个只说真话,另外一个只说假话。还有一个随机地决定何时说真话,何时说假话。你可以向这三个精灵发问三条是非题,而你的任务是从他们的答案找出谁说真话,谁说假话,谁是随机答话。这个难题困难的地方是这些精灵会以“Da”或“Ja”回答,但你并不知道它们的意思,只知道其中一个字代表“对”,另外一个字代表“错”。你应该问那三条问题呢?
...全文
19214 357 打赏 收藏 转发到动态 举报
写回复
用AI写文章
357 条回复
切换为时间正序
请发表友善的回复…
发表回复
CSDMSuperman 2012-10-29
  • 打赏
  • 举报
回复
[Quote=引用 356 楼 的回复:]
引用 47 楼 的回复:

引用 45 楼 FlowerJunjie 的回复:
你是说真话的吗?
三个人肯定回答是一样的,回答“da”,“da”就是“对”,回答“ja”,ja就是”对“。以此可以推断出 “对” 是 ja 还是 da


谁说三个人肯定回答一样?


我有点疑惑了,当你问“你说真话吗?”那个只说假话的精灵该如何是好?怎么回答。。。无限纠结中。。。
[/Quote]

说对啊
CSDMSuperman 2012-10-29
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]
呵呵
解答:

1问:你们是说真话的精灵吗?

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

通过第一步,如果直接找出了随机决……
[/Quote]


第一个问题,不可以三个都是回答Da或是Ja吗,如果Da是对,那说假话的精灵那会说Da,而说真话的精灵也是说Da,随机的精灵可能会说Da也可能会说Ja,所以这个问题应该是不能找出那个随机说话的精灵吧
V-finger 2012-10-10
  • 打赏
  • 举报
回复
多解的题
linuxblack125125 2012-09-11
  • 打赏
  • 举报
回复
我有一解,一个问题就可以问出来!
问:凤姐是你老婆?
说真话的:不是,说假话的:是(结果直接吐了!)随机的:犹豫了一下说是(也吐了) or 不是

判断:肯定的说不是的是说真话的,直接吐了的是说假话的,犹豫了一下的是随机的。

哈哈 纯属恶搞,请勿当真
青花_念 2012-09-08
  • 打赏
  • 举报
回复
do gods know each other?
violist 2012-07-07
  • 打赏
  • 举报
回复
[Quote=引用 192 楼 的回复:]
很多朋友把题目理解错了,如果是每个问题都由三个精灵回答,这题目就不会号称“最难之一”了。
解法我已经想出来,经自己验证过确定没有问题,做了个程序给感兴趣的朋友来验证,如果哪位验证出问题,请把具体验证方法和过程贴出来。
这个问题让我真正感受到了头疼,感谢LZ!

C/C++ code
const char Prompt1[] = "您好!为了便于表达,用“对精灵”、“错精灵”、“随机精灵”……
[/Quote]这个答案是建立在第一个问题没问到随机精灵基础上的。不对哦
wcyun_11 2012-06-20
  • 打赏
  • 举报
回复
貌似还好吧。。。。。
huimiezu 2012-06-20
  • 打赏
  • 举报
回复
问a,c是说真话的吗? 接着问b,a是说真话的吗?最后问c,b是说真话的吗?
niujian2358 2012-06-05
  • 打赏
  • 举报
回复
假设 精灵A 说真话,B说假话,C随机。

又假设 你正好向A提问问题,问:“精灵C会告诉我 'da'是‘对’的意思吗?”

精灵们只能用 ‘da’和‘ja’作为回答,那么这种情况下,精灵A会回答什么?
Foolish__Hungry 2012-05-21
  • 打赏
  • 举报
回复
[Quote=引用 47 楼 的回复:]

引用 45 楼 FlowerJunjie 的回复:
你是说真话的吗?
三个人肯定回答是一样的,回答“da”,“da”就是“对”,回答“ja”,ja就是”对“。以此可以推断出 “对” 是 ja 还是 da


谁说三个人肯定回答一样?
[/Quote]

我有点疑惑了,当你问“你说真话吗?”那个只说假话的精灵该如何是好?怎么回答。。。无限纠结中。。。
zhy705633103 2012-05-16
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]
呵呵 来学习一下
[/Quote]
第一问三个精灵回答肯定是一样的
boboaitta 2012-05-13
  • 打赏
  • 举报
回复
离散数学第一课
L_hunter 2012-05-12
  • 打赏
  • 举报
回复
2楼强悍!!
Nirvana_wzj 2012-03-29
  • 打赏
  • 举报
回复
一问:你说真话么? 可以判断出da和ja哪个是对,哪个是错
二问:我是精灵么? 找出三个精灵中回答不一样的那个,如果回答不一样的那个回答的是对,那这个就是讲假话的,如果回答的是错,则是讲真话的
三问:问那个已经判断出的精灵剩下两个精灵中任意一个是随机讲真话的么?

三个精灵都判断出来了···
Cookizi 2012-03-17
  • 打赏
  • 举报
回复
提问1:你们是说真话的精灵吗?
解释:无论说真话的精灵还是说假话的精灵都会表示肯定,所以三个精灵回答是一样的,所以此问题明确了"Da"或"Ja"哪一个表示“是”,我们这里假设用"Da"表示“是”。

提问2:你们是随机决定何时说真话的精灵吗?
解释:至少有一个精灵会说"Ja",也至少有一个精灵会说"Da"。如果只有一个精灵说了"Ja";那么它就是说真话的精灵,如果只有一个精灵说了"Da",那么它一定是说假话的精灵;

提问3:在提问2中,假如我们揪出了那个说真话的精灵A,我们可以指着其他两个中任意一个精灵问A:它是说假话的精灵吗?;假如我们揪出的是那个说假话的精灵B,那么同理。
快乐的小菜鸟 2011-09-24
  • 打赏
  • 举报
回复
人工智能啊?
chunyuxiguo 2011-08-26
  • 打赏
  • 举报
回复
高人啊!
langxiao12345 2011-08-20
  • 打赏
  • 举报
回复
蛮有意思的
w_min 2011-08-06
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 ch1oe 的回复:]
引用 2 楼 happytang 的回复:
呵呵
解答:

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

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


这个有问题的话,
讲真话的说 -- 不是,讲假话的说 -- 不是,随机的也说 -- 不是
OK,三个不是了~
[/Quote]
这娃思想太简单
ccnadogteam2 2011-07-07
  • 打赏
  • 举报
回复
呵呵,学习了
加载更多回复(337)

69,368

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧