有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的目的达到