有A、B、C三个恐龙,其中1个只说真话,另外1个只说假话。还有1个随机地决定何时说真话,何时说假话。你可以向这三个恐龙发问三条对错题,而你的任务是从他们的回答中找出谁说真话,谁说假话,谁是随机答话。这个难题困难的地方是这些恐龙会以“Da”或“Ja”回答,但你并不知道他们的意思,只知道其中1个字代表“对”,另外1个字代表“错”。你应该问那3条问题呢?
PS:每次问题只能向一个恐龙提问
答案:
第1问-----Q1 :
找出一条T或者F恐龙,这步最难。
向A恐龙问:“如果我说B是U恐龙,你会回答Da吧?”
如果A回答Da,则C恐龙(第3条恐龙)是T或F
如果A回答Ja,则B恐龙是T或F
----------------------------------------------------
有三类情况,
1)A是U
2)B是U
3)C是U
分别讨论
1)A是U
A会做出一个随机的答复,无论A说Da还是Ja,B都是T或者F恐龙,C同样。
2)B是U (则C是一条T或者F恐龙)
“B是U恐龙”这个说法是正确的。以下再分Da=“是”,和Ja=“是”两种情况讨论
当Da=“是”时
若A是T恐龙,对于“B是U恐龙?”这个问题它会如实回答,“Da(是)”。则提问者“.....你会回答Da吧?”的说法是正确的,A恐龙也会如实作答“Da(是)”;
若A是F恐龙,对于“B是U恐龙?”这个问题它会骗人,“Ja(不是)”。则提问者“.....你会回答Da吧?”的说法是错误的,A恐龙继续骗人“Da(是)”
当Ja=“是”时
若A是T恐龙,对于“B是U恐龙?”这个问题它会如实回答,“Ja(是)”。则提问者“.....你会回答Da吧?”的说法是错误的,A恐龙也会如实作答“Da(不是)”;
若A是F恐龙,对于“B是U恐龙?”这个问题它会骗人,“Da(不是)”。则提问者“.....你会回答Da吧?”的说法是正确的,A恐龙继续骗人“Da(不是)”
所以只要B是U(则C是一条T或者F恐龙),最终答案总是"Da"
3)C是U (则B是一条T或者F恐龙)
“B是U恐龙”这个说法是错误的。以下再分Da=“是”,和Ja=“是”两种情况讨论
当Da=“是”时
若A是T恐龙,对于“B是U恐龙?(错误)”这个问题它会如实回答,“Ja(不是)”。则提问者“.....你会回答Da吧?”的说法是错误的,A恐龙也会如实作答“Ja(不是)”;
若A是F恐龙,对于“B是U恐龙?(错误)”这个问题它会骗人,“Da(是)”。则提问者“.....你会回答Da吧?”的说法是正确的,A恐龙继续骗人“Ja(不是)”
当Ja=“是”时
若A是T恐龙,对于“B是U恐龙?(错误)”这个问题它会如实回答,“Da(不是)”。则提问者“.....你会回答Da吧?”的说法是正确的,A恐龙也会如实作答“Ja(是)”;
若A是F恐龙,对于“B是U恐龙?(错误)”这个问题它会骗人,“Ja(是)”。则提问者“.....你会回答Da吧?”的说法是错误的,A恐龙继续骗人“Ja(是)”
所以只要C是U(则B是一条T或者F恐龙),最终答案总是"Ja"
综合1)、2)、3)我们发现,只要回答"Da",则C就是一条T或者F恐龙。反之,则B是一条T或者F恐龙
找到了一个T或F,Q1的目的达到