工厂食堂厨房设计:好象是一道IBM的面试题目

来源:百度文库 编辑:高校问答 时间:2024/04/28 02:38:51
两个在1-30之间的数字,甲知道两数之和,乙知道两数之积,乙问甲知道是哪两个数字吗,甲答不知道,甲又问乙知否,乙也说不知道,接着甲说我知道了,乙也说他明白了?问各位知道这两个数字伐?请把思路一并写上

两个在1-30之间的数字,甲知道两数之和,乙知道两数之积,
1.乙问甲知道是哪两个数字吗,甲答不知道;
2.甲问乙知道是哪两个数字吗,乙也说不知道;
3.接着甲说我知道了;
4.乙也说他明白了.

此题不很严密,没说两数可不可以相等.但都可以做

思路一:
两数可以相等.答案2和2,推导过程如下:
1.乙问甲:你知道这两个数是什么么?甲答:不知道
-〉则和数>3
2.甲问乙:你知道这两个数是什么么?乙答:不知道
-〉则积数不是素数,和数不是1+素数
3.乙又问:你知道这两个数是什么么?甲答:知道了
-〉则甲的和数分解只有两个解,并且其中一个解是1+素数
-〉因此甲可以通过第二问排除掉将和数分解成1+素数分解的办法,直接取得另一种和分解办法;
-〉同时我们注意到和分解只有两个解的和数满足 和数<6,并且和数>3,因此和数只有4,5;
-〉4的两种分解1,3和2,2存在1和素数的情况因此和数为4,两数为2和2可能(这里说可能是因为还不确定最后一问的情形是否符合)是其中一种答案
-〉5的和分解是1,4和2,3不存在1和素数的和分解,因此和数5必然不是甲所持有的和数
4.甲问乙:你知道了么?乙答:我也知道了
-〉因为乙也和我们推理的一样聪明,因此他通过前三问知道甲持有的和数是4,因此乙的手里拿到的积数只能是1*3 = 3或2*2 = 4,1*3很容易被排除,因此乙持有的积数是4,
->乙通过手里的积数4推测可能是1,4两个数,或2,2两个数;
-〉显然1,4两个数不符合要求,因为这意味这甲持有的和数是1+4=5,乙同样可以推理出5在第三问必然被排除;
-〉2,2两个数意味这甲持有的和数是2+2=4,乙可以推倒出这正是甲在第三问就能得出答案的两个数,因此乙很肯定的知道这两个数就是2和2;

思路二:
假设两数和为n ,两数积为k
//由于开始甲乙都无法判断两数,所以n和k都不会是极大或极小的值
所以 59>n>3 k>3(上限判断比较复杂)
//注意第三句,甲接受到k为非素数的条件后立即做出了判断!
//甲势必对手上的和数如下分解:
1*(n-1) //要使判断成立,必须n-1=素数
2*(n-2) //在1和2中做出2唯一的判断
3*(n-3) //出现第三种情况将无法做出唯一判断 所以n-3<3
(注意:如果强调两数不相等,这里可以加上=,推导出另外一组解2,3)
所以 3<n<6
1*(n-1) 2*(n-2)
n=4 3 4 //此时两数为2,2
n=5 4 6 //不满足题意
//乙势必对手上的积数如下分解:
1*k//k为非素数
m*(k/m)
//由于积数分解的可能性复杂,甲提供给乙的信息相当希少.
//乙必然会沿着甲的思路去考虑甲做出唯一判断的条件((2+(n-2)唯一合理),从而意识到 2 * k/2 的组合

大家都错了,其实一共有四组数字。分析题干,“两个在1-30之间的数字”,说明取值范围是从2到29.
一,乙问甲,甲不知道,说明甲知道的和大于等于6.
二,甲问乙,乙不知道,说明乙知道的乘积的范围是12,16,18,20,24,或是28,因为这六个数字都可以拆成至少两对数字的乘积。
三,甲说他知道了,甲是怎么分析的呢?甲知道的和,拆开一试,看哪组乘积等于这六个数之一,并且拆成别的数字的乘积不可能等于这六个数,则,甲知道了那两个数字是什么了。
四,乙说他也知道了,乙是怎么分析的呢?乙换位思考,甲是怎么知道的,乙分析到上面的二和三,乙已经知道乘积是多少,所以他可能不用深考虑就可以得出结论,而且是唯一的结论,但是与我下面的分析方法类似。
作为我们第三者旁观的角度,这两个数字到底是什么?可以接着乙进行分析,12=2*6=3*4;16=2*8=4*4;18=3*6=2*9;20=4*5=2*10;24=3*8=4*6=2*12;28=2*14=4*7.这其中2+6=8,3+4=7;2+8=10,4+4=8;3+6=9,2+9=11;4+5=9,2+10=12;3+8=11,4+6=10,2+12=14;2+14=16,4+7=11。这其中的和8,9,10,11是重复的,也就是说甲要是知道的和是这四个数字的话,甲也不可能知道那两个数字是什么,所以甲知道的和只能是7,12,14,16这四种可能,于是就对应了四组答案,(3,4);(2,10);(2,12);(2,14)。
如果觉得我说的不对,欢迎批评指正,多谢。

1和4,或者4和7

没必要知道,日后多加防范对方就是了

这个,问题不是要你回答的~而是要你怎么分析对手,和怎么防范对手~相信甲和乙也是来找工作的~并且和人际关系有关~如果你回答是数字问题~那么就证明你学习好,具体的回答,要圆滑,和谁也搭不上边,有和谁都有关系,才能体现你的机智~~甲回答我是乙的积,乙回答我是甲的和~看那老板怎么说~~~