中国有多少黑鹳:世界最难逻辑题,觉得思路还可以的就进来挑战一下

来源:百度文库 编辑:查人人中国名人网 时间:2024/05/05 15:33:49
这道逻辑题是专家Raymond Smullyan出的,自封为“世界最难逻辑题”,说除他之外无人解答出来
题目是这样的 你也来试试:
有甲、乙、丙三个精灵,其中一个只说真话,另外一个只说假话。还有一个随机地决定何时说真话,何时说假话。你可以向这三个精灵发问三条是非题,而你的任务是从他们的答案找出谁说真话,谁说假话,谁是随机答话。这个难题困难的地方是这些精灵会以“Da”或“Ja”回答,但你并不知道它们的意思,只知道其中一个字代表“对”,另外一个字代表“错”。你应该问那三条问题呢?

如果我问你以下两个问题:“Da表示Yes吗?”和“如果我问你以下两个问题:‘你是True吗’和‘B是Random吗’,你的回答是一样的,对吗?
如果A是True或False并且回答是Da,那么B是Random,从而C是True或False;
如果A是True或False并且回答是Ja,那么B不是Random,从而B是True或False;
如果A是Random,那么B和C都不是Random!
所以无论A是谁,如果他的答案是Da,C是True或False;如果他的答案是Ja,B是True或False。
不妨设B是True或False。
向B问第二个问题:
Question 2:如果我问你以下两个问题:“Da表示Yes吗?”和“罗马在意大利吗”,你的回答是一样的,对吗?
如果B是True,他会回答Da;如果B是False,他会回答Ja。从而我们可以确认B是True还是False。
向B问第三个问题:
Question 3:如果我问你以下两个问题:“Da表示Yes吗?”和“A是Random吗”,你的回答是一样的,对吗?
假设B是True,如果他的回答是Da,那么A是Random,从而C是False;如果他的回答是Ja,那么C是Random,从而A是False。
假设B是False,如果他的回答是Da,那么A是不是Random,从而C是Random,A是True;如果他的回答是Ja,那么A是Random,从而C是True。

如果我问你以下两个问题:“Da表示Yes吗?”和“如果我问你以下两个问题:‘你是True吗’和‘B是Random吗’,你的回答是一样的,对吗?
如果A是True或False并且回答是Da,那么B是Random,从而C是True或False;
如果A是True或False并且回答是Ja,那么B不是Random,从而B是True或False;
如果A是Random,那么B和C都不是Random!
所以无论A是谁,如果他的答案是Da,C是True或False;如果他的答案是Ja,B是True或False。
不妨设B是True或False。
向B问第二个问题:
Question 2:如果我问你以下两个问题:“Da表示Yes吗?”和“罗马在意大利吗”,你的回答是一样的,对吗?
如果B是True,他会回答Da;如果B是False,他会回答Ja。从而我们可以确认B是True还是False。
向B问第三个问题:
Question 3:如果我问你以下两个问题:“Da表示Yes吗?”和“A是Random吗”,你的回答是一样的,对吗?
假设B是True,如果他的回答是Da,那么A是Random,从而C是False;如果他的回答是Ja,那么C是Random,从而A是False。
假设B是False,如果他的回答是Da,那么A是不是Random,从而C是Random,A是True;如果他的回答是Ja,那么A是Random,从而C是True。

如果我问你以下两个问题:“Da表示Yes吗?”和“如果我问你以下两个问题:‘你是True吗’和‘B是Random吗’,你的回答是一样的,对吗?
如果A是True或False并且回答是Da,那么B是Random,从而C是True或False;
如果A是True或False并且回答是Ja,那么B不是Random,从而B是True或False;
如果A是Random,那么B和C都不是Random!
所以无论A是谁,如果他的答案是Da,C是True或False;如果他的答案是Ja,B是True或False。
不妨设B是True或False。
向B问第二个问题:
Question 2:如果我问你以下两个问题:“Da表示Yes吗?”和“罗马在意大利吗”,你的回答是一样的,对吗?
如果B是True,他会回答Da;如果B是False,他会回答Ja。从而我们可以确认B是True还是False。
向B问第三个问题:
Question 3:如果我问你以下两个问题:“Da表示Yes吗?”和“A是Random吗”,你的回答是一样的,对吗?
假设B是True,如果他的回答是Da,那么A是Random,从而C是False;如果他的回答是Ja,那么C是Random,从而A是False。
假设B是False,如果他的回答是Da,那么A是不是Random,从而C是Random,A是True;如果他的回答是Ja,那么A是Random,从而C是True。

--------------------------------------------------------------------------------

如果我问你以下两个问题:“Da表示Yes吗?”和“如果我问你以下两个问题:‘你是True吗’和‘B是Random吗’,你的回答是一样的,对吗?
如果A是True或False并且回答是Da,那么B是Random,从而C是True或False;
如果A是True或False并且回答是Ja,那么B不是Random,从而B是True或False;
如果A是Random,那么B和C都不是Random!
所以无论A是谁,如果他的答案是Da,C是True或False;如果他的答案是Ja,B是True或False。
不妨设B是True或False。
向B问第二个问题:
Question 2:如果我问你以下两个问题:“Da表示Yes吗?”和“罗马在意大利吗”,你的回答是一样的,对吗?
如果B是True,他会回答Da;如果B是False,他会回答Ja。从而我们可以确认B是True还是False。
向B问第三个问题:
Question 3:如果我问你以下两个问题:“Da表示Yes吗?”和“A是Random吗”,你的回答是一样的,对吗?
假设B是True,如果他的回答是Da,那么A是Random,从而C是False;如果他的回答是Ja,那么C是Random,从而A是False。
假设B是False,如果他的回答是Da,那么A是不是Random,从而C是Random,A是True;如果他的回答是Ja,那么A是Random,从而C是True。

最讨厌这样的题

如果我问你以下两个问题:“Da表示Yes吗?”和“如果我问你以下两个问题:‘你是True吗’和‘B是Random吗’,你的回答是一样的,对吗?
如果A是True或False并且回答是Da,那么B是Random,从而C是True或False;
如果A是True或False并且回答是Ja,那么B不是Random,从而B是True或False;
如果A是Random,那么B和C都不是Random!
所以无论A是谁,如果他的答案是Da,C是True或False;如果他的答案是Ja,B是True或False。
不妨设B是True或False。
向B问第二个问题:
Question 2:如果我问你以下两个问题:“Da表示Yes吗?”和“罗马在意大利吗”,你的回答是一样的,对吗?
如果B是True,他会回答Da;如果B是False,他会回答Ja。从而我们可以确认B是True还是False。
向B问第三个问题:
Question 3:如果我问你以下两个问题:“Da表示Yes吗?”和“A是Random吗”,你的回答是一样的,对吗?
假设B是True,如果他的回答是Da,那么A是Random,从而C是False;如果他的回答是Ja,那么C是Random,从而A是False。
假设B是False,如果他的回答是Da,那么A是不是Random,从而C是Random,A是True;如果他的回答是Ja,那么A是Random,从而C是True。