IBM变态的面试题

IBM变态面试

IBM变态的面试题

1.有50家人家,每家一条狗。有一天警察通知,50条狗当中有病狗,行为和正常狗不一样。每人只能通过观察别人家的狗来判断自己家的狗是否生病,而不能看自己家的狗,如果判断出自己家的狗病了,就必须当天一枪打死自己家的狗。结果,第一天没有枪声,第二天没有枪声,第三天开始一阵枪响,问:一共死了几条狗?

2.已知两个数字为1~30之间的数字,甲知道两数之和,乙知道两数之积,甲问乙:你知道是哪两个数吗?乙说:不知道。乙问甲:你知道是哪两个数吗?甲说:也不知道。于是,乙说:那我知道了,随后甲也说:那我也知道了,这两个数是什么?

3.一个经理有三个女儿,三个女儿的年龄加起来等于13,三个女儿的年龄乘起来等于经理自己的年龄。有一个下属已知道经理的年龄,但仍不能确定经理的三个女儿的年龄,这时经理说只有一个女儿的`头发是黑的,然后这个下属就知道了经理的三个女儿的年龄。请问三个女儿的年龄分别是多少?为什么?

答案:

1.死了3条(第几天枪响就有几条)。

简单分析:从有一条不正常的狗开始,显然第一天将会听到一声枪响。这里的要点是你只需站在那条不正常狗的主人的角度考虑。

有两条的话思路继续,只考虑有两条不正常狗的人,其余人无需考虑。通过第一天他们了解了对方的信息。第二天杀死自己的狗。换句话说每个人需要一天的时间证明自己的狗是正常的。有三条的话,同样只考虑那三个人,其中每一个人需要两天的时间证明自己的狗是正常的狗。

2.1和4,或者4和7。

3.分别是2,2,9。

简单分析:

1 1 11 11 伪穷举,呵呵

1 2 10 20

1 3 9 27

1 4 8 32

1 5 7 35

1 6 6 36 在所有的可能性中,只有这两个相同,如果经理的年龄为其他,则他下属就可以确定三个人分别为几岁了

2 2 9 36 所以只有两种可能:1,6,6或者2,2,9。如果是1,6,6的话,那么两个同样大的6岁的孩子应该都是黑头发

2 3 8 40 所以只有2,2,9比较合理,大的那个是黑头发,另外两个是黄毛丫头

2 4 7 56

2 5 6 60

3 3 7 42

3 4 6 72

3 5 5 75

4 4 5 80