打印

IBM笔试题目,请大家给解释一下,我智商有限!

[复制链接]
2359|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ccjchen|  楼主 | 2007-10-25 13:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
aihe| | 2007-10-25 14:55 | 只看该作者

4、6

使用特权

评论回复
板凳
ccjchen|  楼主 | 2007-10-25 16:00 | 只看该作者

正确答案为1和4,或者4和7

但我不知道4和7怎么来的,请各位高手给解决一下

使用特权

评论回复
地板
mylovetus| | 2007-10-25 20:02 | 只看该作者

呵呵

既然能有两个正确的答案,可以得出该题目肯定是有问题的!

使用特权

评论回复
5
wishcom| | 2007-10-25 20:47 | 只看该作者

是否可以这样理解

已知两个数字为1~30之间的数字:
 X<=30 && X>=1 && Y<=30 && Y>=1
-------------------------------------------------------
甲知道两数之和:
Z = X+Y,  2<=Z<=59
-------------------------------------------------------
乙知道两数之积:
W = X*Y,  1<=W<=900
-------------------------------------------------------
甲问乙:“你知道是哪两个数吗?”乙说:“不知道”:
如果给出2到59之间的一个数,可以唯一确定他的加数,则将这个数从Z取值范围中去掉.
如:2 = X + Y 则一定是X=Y=1 因此可以将2从Z取值范围中去掉。
    5 = 1+4,5 = 2+3,因此5不能唯一确定加数,因此5仍留在Z取值范围中。
依此类推,可以得到Z的取值范围。
-------------------------------------------------------
乙问甲:“你知道是哪两个数吗?”甲说:“也不知道”:
如果给出1到900之间的一个数,可以唯一确定他的乘数,则将这个数从W取值范围中去掉.
如:1 = X * Y 则一定是X=Y=1 因此可以将1从W取值范围中去掉。
    24 = 6+4,24 = 3+8,因此24不能唯一确定加数,因此24仍留在W取值范围中。
依此类推,可以得到W的取值范围。
-------------------------------------------------------
于是,乙说:“那我知道了”,随后甲也说:“那我也知道了”:
之前已经得到的Z,W的取值范围,可以在整个Z,W的取值范围内找满足:
(Z == X+Y) && (W == X*Y) && (X<=30) && (X>=1) && (Y<=30) && (Y>=1)
条件的数。

答案不一定唯一。

那位牛淫coding以下。

使用特权

评论回复
6
wishcom| | 2007-10-25 20:54 | 只看该作者

Baidu上找到解法了,和俺的表达基本上差不多,哈哈

    答案为x=1,y=4;甲知道和A=x+y=5,乙知道积B=x*y=4 
    不允许两数重复的情况下有两种答案 
    答案1:为x=1,y=6;甲知道和A=x+y=7,乙知道积B=x*y=6 
    答案2:为x=1,y=8;甲知道和A=x+y=9,乙知道积B=x*y=8 
    解: 
    设这两个数为x,y. 
    甲知道两数之和 A=x+y; 
    乙知道两数之积 B=x*y; 
    该题分两种情况 : 
    允许重复, 有(1 <= x <= y <= 30); 
    不允许重复,有(1 <= x < y <= 30); 
    当不允许重复,即(1 <= x < y <= 30); 
    1)由题设条件:乙不知道答案 
    <=> B=x*y 解不唯一 
    => B=x*y 为非质数 
    又∵ x ≠ y 
    ∴ B ≠ k*k (其中k∈N) 
    结论(推论1): 
    B=x*y 非质数且 B ≠ k*k (其中k∈N) 
    即:B ∈(6,8,10,12,14,15,18,20...) 
    证明过程略。 
    2)由题设条件:甲不知道答案 
    <=> A=x+y 解不唯一 
    => A >= 5; 
    分两种情况: 
    A=5,A=6时x,y有双解 
    A>=7 时x,y有三重及三重以上解 
    假设 A=x+y=5 
    则有双解 
    x1=1,y1=4; 
    x2=2,y2=3 
    代入公式B=x*y: 
    B1=x1*y1=1*4=4;(不满足推论1,舍去) 
    B2=x2*y2=2*3=6; 
    得到唯一解x=2,y=3即甲知道答案。 
    与题设条件:"甲不知道答案"相矛盾 , 
    故假设不成立,A=x+y≠5 
    假设 A=x+y=6 
    则有双解。 
    x1=1,y1=5; 
    x2=2,y2=4 
    代入公式B=x*y: 
    B1=x1*y1=1*5=5;(不满足推论1,舍去) 
    B2=x2*y2=2*4=8; 
    得到唯一解x=2,y=4 
    即甲知道答案 
    与题设条件:"甲不知道答案"相矛盾 
    故假设不成立,A=x+y≠6 
    当A>=7时 
    ∵ x,y的解至少存在两种满足推论1的解 
    B1=x1*y1=2*(A-2) 
    B2=x2*y2=3*(A-3) 
    ∴ 符合条件 
    结论(推论2):A >= 7 
    3)由题设条件:乙说"那我知道了" 
    =>乙通过已知条件B=x*y及推论(1)(2)可以得出唯一解 
    即: 
    A=x+y, A >= 7 
    B=x*y, B ∈(6,8,10,12,14,15,16,18,20...) 
    1 <= x < y <= 30 
    x,y存在唯一解 
    当 B=6 时:有两组解 
    x1=1,y1=6 
    x2=2,y2=3 (∵ x2+y2=2+3=5 < 7∴不合题意,舍去) 
    得到唯一解 x=1,y=6 
    当 B=8 时:有两组解 
    x1=1,y1=8 
    x2=2,y2=4 (∵ x2+y2=2+4=6 < 7∴不合题意,舍去) 
    得到唯一解 x=1,y=8 
    当 B>8 时:容易证明均为多重解 
    结论: 
    当B=6时有唯一解 x=1,y=6当B=8时有唯一解 x=1,y=8 
    4)由题设条件:甲说"那我也知道了" 
    => 甲通过已知条件A=x+y及推论(3)可以得出唯一解 
    综上所述,原题所求有两组解: 
    x1=1,y1=6 
    x2=1,y2=8 
    当x<=y时,有(1 <= x <= y <= 30); 
    同理可得唯一解 x=1,y=4 

使用特权

评论回复
7
ccjchen|  楼主 | 2007-10-25 22:32 | 只看该作者

谢谢阿

使用特权

评论回复
8
ccjchen|  楼主 | 2007-10-25 22:48 | 只看该作者

wishcom看你那么厉害再给你来两个,给解答一下,哈哈!

4.    A、B、C三人涉嫌一件谋杀案被传讯。这三个人中,一人是凶手,一人是帮凶,一人是无辜者。下面三句话摘自他们的口供记录,其中每句话都是三个人中的某个人所说: 
        A不是凶手。 B不是帮凶。 C不是无辜者。
  上面每句话的所指都不是说话者自身,而是指另外两个人中的某一个。上面三句话中至少有一句话是无辜者说的。只有无辜者才说真话。
  A、B、C三人中,谁是凶手?
7. A君和B君见到B君的三个熟人X,Y,Z
A君问B君:“他们的多大”
B君说:“他们的年龄之和是我们的年龄之和,他们的年龄的乘积是2450”
A说:“我还是不知道” 
B说:“他们都比我们的朋友C要小” 
A说:“那我知道了”
问C的年龄是多少?

使用特权

评论回复
9
老狼| | 2007-10-26 00:50 | 只看该作者

C是凶手

使用特权

评论回复
10
wishcom| | 2007-10-26 09:21 | 只看该作者

晕,LZ在谋杀我的脑细胞。。。不干了

使用特权

评论回复
11
ccjchen|  楼主 | 2007-10-26 22:43 | 只看该作者

哈哈,哪里,请回答!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

175

主题

446

帖子

1

粉丝