邏輯題目

最近網路看到一個題目滿有趣的,來跟大家分享:

A、B 兩男士好奇地詢問 C 女士的年齡,C 女士列出11個可能的答案:
35、36、38
42、45、46
51、55、57
61、62
接著 C 女士將她年齡的十位數告訴 A 男士,將她年齡的個位數告訴 B 男士。
A 男士說:「我不知道 C 的年齡,但我想 B 也不知道。」
B 男士說:「我原本也不知道 C 的年齡,但現在知道了。」
A 男士說:「哦,那現在我也知道了。」
請問 C 女士的年齡是幾歲?

第一眼看到想說WTF,洗勒供三小
其實本題跟算術無關,是一種邏輯推演
可以透過刪去法得出答案

假設 C 女士年齡的十位數為 x,個位數為 y
x 可能是 3、4、5、6
y 可能是 1、2、5、6、7、8

A 說 B 不知道
但如果 y = 7 或 8,B 是猜得到的
要否定這種可能性意味著 x ≠ 3 ≠ 5

聽了 A 的話,B 知道答案了
即知道 x ≠ 3 ≠ 5 就能肯定答案
所以 y 有獨特性,y ≠ 2

聽了 B 的話,A 就知道答案了
即知道 x 就能選出 45、46、61
因此很明顯 x = 6
答案就是 61

心得

解題時會有點混亂是因為摻雜各種視角:

  • 全知的 C
  • 部分知道的 A、B
  • 無知的讀者

藉由資訊交換的過程間接推導出答案
這與桌遊狼人殺、阿瓦隆非常相似
大家有知道和不知道,然後說話討論得出結論
當然相較之下桌遊不會像解題那麼嚴謹就是了