新浪UC部門軟件測試面試題:
有4個朋友住在一個小城鎮(zhèn)里。他們的名字是庫克、米勒、史密斯、卡特。他們一個是警察、一個是木匠,一個是農(nóng)民,一個是醫(yī)生。
一天,庫克的兒子摔斷了腿。庫克帶他去找醫(yī)生。醫(yī)生有個妹妹是史密斯的妻子。農(nóng)民沒有結(jié)過婚,他養(yǎng)著許多母雞。米勒經(jīng)常去農(nóng)民家里買雞蛋。警察每天都能見到史密斯,因為他們是鄰居。
請問,他們4人個中,誰是警察?誰是木匠?誰是農(nóng)民?誰是醫(yī)生?
這是我的分析方法及答案:
由于涉及人名和職業(yè)較多,變來變?nèi),很容易混亂。由于我想到用方程式來解決。設(shè)警察為A,木匠為B,農(nóng)民為C,醫(yī)生為D,庫克為N1,米勒為N2,史密斯為N3,卡特為N4,根據(jù)條件,得方程式為:
D≠N1 庫克(N1)帶他去找醫(yī)生(D)
C≠N3 …史密斯(N3)的妻子(農(nóng)民沒結(jié)婚)
D≠N3 醫(yī)生(D)有個妹妹是史密斯(N3)的妻子
C≠N1 農(nóng)民(C)沒有結(jié)過婚(自然也沒有兒子)
C≠N2 米勒(N2)經(jīng)常去農(nóng)民(C)家里買雞蛋
A≠N3 警察(A)每天都能見到史密斯(N3)
首先解得B=N3,C=N4,由于D≠N1,那么D必然等N2,N3,N4,由于己解出N3、N4,那么D=N2,最后,自然解出A=N1
即答案為:
A=N1
B=N3
C=N4
D=N2
下面用交叉表的方法來解決這個問題,如下圖:
庫克 | 米勒 | 史密斯 | 卡特 | |
警察 | 1 | 0 | 0 | 0 |
木匠 | 0 | 0 | 1 | 0 |
農(nóng)民 | 0 | 0 | 0 | 1 |
醫(yī)生 | 0 | 1 | 0 | 0 |
如上面交叉表表示,標0處表示兩者不相關(guān),標1處表示兩者有關(guān)聯(lián)。
通過描述語句,分析出某人肯定不是哪一職業(yè),這時就在某個人這一列和某職業(yè)這一行的交叉處標上0,一一排除,即可得到上面這個交叉表。
如表中第一行的1表示庫克是警察。
相關(guān)導(dǎo)讀: