有趣的邏輯問題:是誰在說謊
開心的是期中考接近尾聲,而且今天也是我的生日,更開心的是老天爺待我很好,放我一天假沒給我排考。今天,在網路上逛啊逛,看到了一些判斷說謊的邏輯問題,雖然之前就曾看過,但不管再看多少遍都還是覺得很有趣。也想到好幾天沒寫東西了,就貼上來讓大伙一同分享吧!準備好接受考驗了嗎? Ready? Go!
第一題:
A 說B 在說謊,B 說 C 在說謊,C 說 A、B 都在說謊。請問到底誰在說謊?
第二題:
現在審問四名竊賊嫌疑犯。已知當中有一名是竊賊,還知道這四個人不是誠實就是說謊,請根據他們回答問題的結果中,判斷誰是竊賊。
甲說:『乙沒有偷,是丁偷的。』
乙說:『我沒有偷,是丙偷的。』
丙說:『甲沒有偷,是乙偷的。』
丁說:『我沒有偷。』
解答:一:只有 B 說真話。二:乙是竊賊。
第一題:
A 說B 在說謊,B 說 C 在說謊,C 說 A、B 都在說謊。請問到底誰在說謊?
第二題:
現在審問四名竊賊嫌疑犯。已知當中有一名是竊賊,還知道這四個人不是誠實就是說謊,請根據他們回答問題的結果中,判斷誰是竊賊。
甲說:『乙沒有偷,是丁偷的。』
乙說:『我沒有偷,是丙偷的。』
丙說:『甲沒有偷,是乙偷的。』
丁說:『我沒有偷。』
解答:一:只有 B 說真話。二:乙是竊賊。
可以貼個 推論的過程嗎?
回覆刪除第一題其實很簡單,
刪除1. 若A說實話,則B說謊(B說C說謊),即C說得是真的,即AB皆說謊,這與A說真話這個假設互為矛盾,故不成立
2. 若B說實話,則C說謊, C說謊也就是AB至少有一人說的是真話,與B說實話之假設相符,可成立
3.若C說實話,則A B二人皆為假,但A說B說謊,若A說謊則B為真,但B若為真則C為假,與假設不符,C也不是正確答案(因為A不對已經不成立了,B也不用證明了)
總結:B說真話
其實這些原題目是要寫程式來解的,我大概講一下其推論流程。
回覆刪除第一題的答案就在以下三個條件同時成立時:
1. 若 A 説真話,則 B 就是說假話;反之,B 為真,A 就為假。
代數表達法:(A=1 And B=0) Or (A=0 And B=1)
2. 若 B 說真話,C 就是說假話;反之,C 為真,B 就為假。
代數表達法:(B=1 And C=0) Or (B=0 And C=1)
3. 若 C 說真話,A、B就都說假話;反之,A、B 如果有人說真話,C 就為假。
代數表達法:(C=1 And A=0 And B=0) Or (C=0 And A=1 Or B=1)
三個人真假話的排列組合是3!共六種,分別代入判別,找到符合三個條件的就是答案:A=0, B=1, C=0。
第二題可用解聯立方程式的方式來解。
因為這四個人不是誠實就是說謊,所以甲、乙、丙說的兩個人之中,一定有一個是竊賊,可用三個方程式表示:
乙 + 丁 = 1
乙 + 丙 = 1
甲 + 乙 = 1
而四個人之中有一名是竊賊,所以四人的關係就是:
甲 + 乙 + 丙 + 丁 = 1
用這四條式子解聯立方程式,找出誰等於 1 就是答案了。
啊也不講答案。。。
刪除恩~ 謝謝你的解答~
回覆刪除不過 我得思考一下(邏輯不太好..)
作者已經移除這則留言。
回覆刪除好難喔!
回覆刪除高中一年級數學就在教邏輯學。
回覆刪除請問第一題的判別代人是什麼意思?
回覆刪除