引用:
0928615374寫到:
在一個島上住著三個人,一個永遠說真話(T),一個永遠說假話(F),一個則有時說真話,有時說假話(他說真話或假話的可能性完全是隨機的,R)。
這三個人互相知道對方的特性,但只有R才知道自己接下來會說真話還是假話。
現在你可以問三條是非問題(即以「是」或「否」回答的問題),每條問題均只准向其中一人發問。
這三人都懂得你的語言,但他們只會用"喔"或"嗯"回答你。
這兩個字其中一個代表「是」,另一個代表「否」,但你不知哪一個是「是」,哪一個是「否」。
如果你問了一個他們不知道答案的問題,他們就會不回答。
你應如何發問,從而確定這三個人的身份呢?
假設他們三個人分別為A君、B君和C君。先對其中隨便一個人(假設為A君)問:「B君接下來會說真話還是假話?」根據A君的回答(不論是"喔"或是"嗯")分兩種情況各別討論。
情況A:
如果A君不回答這個問題,表示B君是"R",亦即表示A君和C君是T或是F。
接下來要知道"喔"和"嗯"的真實意思就簡單了,再問A君:「你說的是實話嗎?」
不管A君是T還是F,他都會回答"是",確定"喔"和"嗯"的意思後,
再來要知道A君是T還是F便易如反掌了,隨便問他個問題像是:「你是B君嗎?」
根據他的回答,便可知道A君是T還是F,而剩下那個便是C君。
情況B:
如果A君回答"喔"或"嗯",我們只能知道B君不是R。這時只好由B君下手,問B君:「C君接下來會說真話還是假話?」
根據他是否回答,繼續推演成兩種可能:
>> 情況 B I:
如果B君有回答,表示C君必不是R。既然B君跟C君都不是R,那A君鐵定是R了。
再來就可以推出"喔"和"嗯"的真實意思了,因為不管B君是T還是F,剛才的「C君接下來會說真話還是假話?」答案必定是"否",
這樣便可以知道"喔"和"嗯"的真實意思。接下來用跟情況A一樣的方法,
問B君:「你是C君嗎?」便可知道他是T或F,進而求出C君的身分。
>> 情況 B II:
如果B君不回答,那C君便是R了。既然A君和B君一個為T另一個為F,藉由一開始問題"B君接下來會說真話還是假話?"可以知道當時A君的答案是必定是"否",由此堆知"喔"和"嗯"的真實意思後,再問B君:「你是A君嗎?」便可知道A君和B君是T或是F了。
你問這題時忽略了一些條件,題目不嚴謹。
1. 這三個人是丁丁嗎?還是一般人?
2. 三人是否鐵定誠實?