返回列表 回复 发帖

IBM的面试题(巨牛题)答案已核对

数字1-30
甲知道其中两数之积
乙知道其中两数之和
甲问乙:你知道这两个数是什么么?
乙答:不知道
乙问甲:你知道这两个数是什么么?
甲答:不知道

甲又问:你知道这两个数是什么么?
乙答:知道了
乙问甲:你知道了么?
甲答:我也知道了

问:这两个数是什么?



THERMO能做出来我就超级无比PF
挑战逻辑极限。。。。。。
2x3=6 1x6=6 A 当然不知道那个是咯
2+3=5 1+4=5 B也是不知道那个的
可是 甲问乙:你知道这两个数是什么么? 乙答:不知道. 可是当乙问甲:你知道这两个数是什么么?甲答:不知道 那么那时乙应该是知道答案的. 因为乙知道的和是5那么只有1+4 / 2+3 才可以得到5的. 那么要是1和4的话那么甲应该知道答案的. 可是甲说他不知道. 那乙很自然的就知到那俩个数是2,3. 而甲听到乙说他知道了. 也就想到咯.
如果楼主说1-30的数中可以重复的话. 以上的就当我没说过好了@@!
ilovechz
不好意思
没这么简单
本来不想说了. 不过我想大家看了.可能有疑问. 那时我又不在就不好了. 大家也许会问. 如果甲知道的是6. 为什么乙的和是5而不是7呢???
如果是7那么会有1+6 2+5 3+4 , 3 个俩个数.  乙问甲:你知道这两个数是什么么??? 答不知道 . 如果是1x6=6=2x3 . 就有俩个可能了. 如果是2x5=10=1x10 .. 3x4=12=1x12/2x6. 每个数都是甲不知道的. 那 乙 也不可能知道答案的.
ilovechz
阁下的
思路不对
可以一步步缩小范围的
起步就这样套是不行的
看得都晕````
把永远爱你写进诗的结尾,你是我唯一想要的了解
为什么不对呢??///这样跟你上面的题目合理呀. 还是着个问题. 如果数字是可以重复的. 那你就当我没说过好了..
ilovechz
再想想吧

我明天公布答案算了

这个我想这里没有这么强的人了
SQL> WITH t1 AS
2 (SELECT a.x,
3 b.y,
4 a.x * b.y p,
5 a.x + b.y s,
6 COUNT (*) OVER (PARTITION BY a.x * b.y) pcnt,
7 COUNT (*) OVER (PARTITION BY a.x + b.y) scnt
8 FROM (SELECT ROWNUM + 1 x
9 FROM user_objects
10 WHERE ROWNUM < 99) a,
11 (SELECT ROWNUM + 1 y
12 FROM user_objects
13 WHERE ROWNUM < 99) b
14 WHERE a.x < b.y)
15 SELECT x,
16 y
17 FROM (SELECT x,
18 y,
19 x + y s,
20 COUNT (*) OVER (PARTITION BY x + y) scnt
21 FROM (SELECT x,
22 y,
23 x * y p,
24 COUNT (*) OVER (PARTITION BY x * y) pcnt
25 FROM (SELECT x,
26 y,
27 x * y p,
28 x + y s,
29 COUNT (*) OVER (PARTITION BY x * y) pcnt,
30 COUNT (*) OVER (PARTITION BY x + y) scnt
31 FROM t1 o
32 WHERE scnt > 1
33 AND NOT EXISTS (SELECT NULL
34 FROM t1 i
35 WHERE i.pcnt = 1
36 AND i.s = o.s))
37 WHERE pcnt = 1))
38 WHERE scnt = 1;

X Y
---------- ----------
4 13

SQL>
返回列表