1. 程式人生 > >近幾年難得一見的一道好推理題

近幾年難得一見的一道好推理題

相同 分享 趣味性 建議 blog 難點 矛盾 嘗試 根據

要改變世界的程序猿,是用代碼邏輯來解決各種問題,編程就是與各種問題鬥智鬥勇的過程,沒有嚴謹的推理能力,是很難通過九九八十一難取得真經的。這是本程序猿近兩三年來看到的最好的一道推理題。

技術分享圖片

這題的最大難點在於無從下手,即無法直接確定任何一道題的答案。

前提條件:
每道題都有且只有一個正確答案。
第8題“不相鄰”包括“不是同一個字母”

你要想增加點趣味性,建議你往下看前,先嘗試做下。

解題過程說明:
阿拉伯數字代表題號,如,3代表第3題。

解題過程:
因為無法直接確定任何一題的答案,所以必須先作嘗試。
因為6能同時確定三道題的答案相同,所以先從6下手作嘗試。

因為6若選D,則589相同,則5有兩個答案AC,所以6排除D。

因為6若選B,則168相同,所以1和8都是B。
因為8是B,根據8,則5是D。
因為5是D,根據2,則2是B。
因為26是B,根據3,則3可能是A或D。若3是D,根據3,則362都是B,矛盾。所以3是A。
因為3是A,根據3,4是B。
因為24是B,根據4,7是B。
因為5是D,根據5,7是D,與7是B矛盾,所以6排除B。

因為6若選A,則248相同。
因為24相同,根據3,則3可能是A或B。若3是A,根據3,則624相同,因為6是A,則24都是A,所以3624都是A,3無解。所以3是B。
因為3是B,根據3,324相同,所以248都是B。
因為2是B,根據2,所以5是D。

因為24是B,根據4,7是B。
因為5是D,根據5,7是D,與7是B矛盾,所以6排除A。

因為6若選C,則3810相同。以下對3810的幾種情況分別嘗試。

3810若選D,
因為3是D,根據3,則6是D,與6是C矛盾。所以6若是C,則3810排除D。

3810若選C,
因為3是C,根據3,則4是C。
因為46是C,根據4,則10不可能是C,與10是C矛盾。所以6若是C,則3810排除C。

3810若選B,
因為3是B,根據3,則24是B。
因為2是B,根據2,則5是D。
因為24是B,根據4,則7是B。
因為5是D,根據5,則7是D,與7是B矛盾,所以6若是C,則3810排除B。

3810若選A,
因為3是A,6是C,根據3,則24是C。

因為2是C,根據2,則5是A。
因為8是A,5是A,2是C,根據8,則1是(A和C中間的)B。
因為8是A,1是B,根據8,則7是D。
因為1是B,6是C,5是A,10是A,根據9,則9是B。
到此,每道題都有了答案,1B,2C,3A,4C,5A,6C,7D,8A,9B,10A。

因為其它的“路”都不通,所以這也是“前提條件”下的唯一的答案。

近幾年難得一見的一道好推理題