找准方向,一直奋斗......!Fighting......!(小秋)

新浪UC部门软件测试面试题

上一篇 / 下一篇  2009-12-04 15:59:02 / 个人分类:面试题

新浪UC部门软件测试面试题:

有4个朋友住在一个小城镇里。他们的名字是库克、米勒、史密斯、卡特。他们一个是警察、一个是木匠,一个是农民,一个是医生。 
一天,库克的儿子摔断了腿。库克带他去找医生。医生有个妹妹是史密斯的妻子。农民没有结过婚,他养着许多母鸡。米勒经常去农民家里买鸡蛋。警察每天都能见到史密斯,因为他们是邻居。 

请问,他们4人个中,谁是警察?谁是木匠?谁是农民?谁是医生?

这是我的分析方法及答案:

由于涉及人名和职业较多,变来变去,很容易混乱。由于我想到用方程式来解决。设警察为A,木匠为B,农民为C,医生为D,库克为N1,米勒为N2,史密斯为N3,卡特为N4,根据条件,得方程式为:

D≠N1  库克(N1)带他去找医生(D)
C≠N3  …史密斯(N3)的妻子(农民没结婚)
D≠N3  医生(D)有个妹妹是史密斯(N3)的妻子
C≠N1  农民(C)没有结过婚(自然也没有儿子)
C≠N2  米勒(N2)经常去农民(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

下面用交叉表的方法来解决这个问题,如下图:
 
库克米勒史密斯卡特
警察1000
木匠0010
农民0001
医生0100

如上面交叉表表示,标0处表示两者不相关,标1处表示两者有关联。
通过描述语句,分析出某人肯定不是哪一职业,这时就在某个人这一列和某职业这一行的交叉处标上0,一一排除,即可得到上面这个交叉表。
如表中第一行的1表示库克是警察。


TAG:

zt_aimee的个人空间 引用 删除 zt_aimee   /   2015-08-17 15:55:10
5
飞刀的飞的个人空间 引用 删除 飞刀的飞   /   2011-09-14 02:14:22
5
weixiao617的个人空间 引用 删除 weixiao617   /   2011-01-20 14:32:52
5
乐呵呵测试天地 引用 删除 navy2008   /   2010-11-01 21:50:36
用判定表法,挺好的。
将软件测试做为自己一生的职业 引用 删除 chen_qiuge   /   2010-01-12 13:37:02
我把交叉法的算法列出来了,请参考。
点点的测试小窝 引用 删除 qicailingbing   /   2009-12-09 11:45:44
交叉法具体是怎样算的?能不能把具体方法写下来呀?
引用 删除 billhu   /   2009-12-08 18:11:24
判定表
前端测试工程师@淘宝 引用 删除 Eric_Lee   /   2009-12-08 14:00:25
用交叉法也可以快速得出结果的
 

评分:0

我来说两句

日历

« 2024-04-29  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 10508
  • 日志数: 12
  • 图片数: 1
  • 建立时间: 2009-11-26
  • 更新时间: 2010-06-30

RSS订阅

Open Toolbar