大同大学本科招生简章:先进再说!看了想想,是高手就一定知道答案!还有,有更多难的逻辑推理题,请写在下面,谢谢

来源:百度文库 编辑:中科新闻网 时间:2024/05/08 22:53:48
有甲、乙、丙三个精灵,其中一个只说真话,另外一个只说假话。还有一个随机回答(自己决定何时说真话何时说假话)。你可以向这三个精灵发问三条是非题(一共只问三个问题,且每次只能向一个精灵发问,即不能同时让三个精灵回答同一个问题),而你的任务是找出谁说真话谁说假话谁随机答话。精灵会以「Da」或「Ja」回答,但你并不知道它们的意思,只知道其中一个字代表「对」,另外一个字代表「错」。你应该问怎样的三个问题呢?

1.问“你是说真话的那个人吗?“请三个精灵同时都回答.
2.问“上个问题你的答案是真的吗?“请三个精灵同时都回答.

这个时候不管JA和DA各代表甚么意思,只说真话的精灵在回答这两个问题的时候答案肯定是一致的,只说假话的那个肯定答案是不一致的,可真可假的那个答案可能是都一致,也可能不一致.
然后再看三个精灵答案汇总的情况,两题答案不一致的如果只有一个,那么这个就是只说假话的,而另外两个一致的答案都是JA,则JA代表真,都是DA,则 DA代表真.如果两题的答案不一致的有两个,那么剩下的那个一致的就是只说真话的.这个答案一致的精灵用的答案都是JA,则JA代表真,都是DA,则DA 代表真.

3.此时再分以上两种结果发问(请注意此时已经能知道JA和DA与对和错的对应关系了),所以我假设JA代表对继续分析.

A.已经知道谁是只说假话的了,然后随便指着剩下两精灵中的一个问他“他是只说真话的那个吗?“如果只说假话的精灵答JA,则没指的才是只说真话的,指着的这个是可真可假的.答DA则相反.

B.已经知道谁是只说真话的了,同样指着剩下两精灵中的一个问他“他是只说假话的那个吗?“如果只说真话的精灵答JA,则指着的这个就是只说假话的,没指的是可真可假的,答DA则相反.

谁是人谁就是真的中

先问一个精灵:“Ja”是“是”的意思吗?只要他说“Ja”那麽他就说真话,反之则说假话。再问另一个,判断它的真假。再问第三个:“刚才我问的第一个精灵是所真话[或假话,看第一个判断的结果是什麽就问什麽]的吗?”若答是,他就是总变的那个,反之则是说真话的那个。

好麻烦

知道,麻烦