软件测试面试之逻辑题

1.分金条问题

你让工人为你工作7天,给工人的回报是一根金条。金条平分成相连的7段,你必须在每天结束时给他们一段金条,如果只许你两次把金条弄断,你如何给你的工人付费?

m答:金条分成 1.2.4。
第1天给他1/7:第2天我给他2/7,让他找回我1/7:第3天我就再给他1/7,加上原先的2/7就是3/7:第4天我给他那块4/7,让他找回那两块1/7和2/7的金条:第5天,再给他1/7:第6天和第2天一样:第7天给他找回的那个1/7


2. 疯狗问题

一个村子里,有 50 户人家,每家都养了一条狗。现在,发现村子里面出现了n只疯狗,村里规定谁要是发现了自己的狗是疯狗,就要将自己的狗枪毙。但问题是,村子里面的人只能看出别人家的狗是不是疯狗,而不能看出自己的狗是不是疯的,如果看出别人家的狗是疯狗,也不能告诉别人。于是大家开始观察,第一天晚上,没有枪声,第二天晚上,没有枪声,第三天晚上,枪声响起(具体几枪不清楚),问村子里有几只疯狗?只有晚上才能看出病狗,并且一天晚上只能看一次。

答:有3条疯狗

解释:假设只有一只狗,那么狗主人就看不到病狗,那么他肯定会知道自己的狗有病,那么第一天便会听到枪响。但是第一天没枪声,所以假设不成立。
假设有两只病狗,两只病狗的主人都看到一只病狗,因而不会怀疑自己的狗有病,所以第一天晚上没枪声。 由于第一天晚上没传来枪声,两只病狗的主人就都知道他们相互都看到了病狗,从而判断出自己的狗也是病狗。那么第二天就会传来枪声,但是没有,所以假设不成立....以此类推...第三天既三条狗。

补充:假设有3只疯狗,那么每个疯狗的主人都会看到两条疯狗,他们都知道,如果只有两条疯狗的话必定会在第二天杀死(前面已证明)。第二天他们都在等着另外两个杀狗,所以都没人杀自己的狗。所以第三天,他们都知道另外两人也都看到两条狗,所以第三天就都知道自己的狗有病..

posted @ 2024-11-27 07:00  雷神lyx  阅读(94)  评论(0)    收藏  举报  来源