腾讯笔试题

声明:题目来自网络,答案大部分来自网络并经过整理;有些是自己查资料和请教他人得来的。


1.两个人A,B。数字为2-100之间的自然数。现找出两个数,把其和告诉A,把其积告 诉B。然后问A知道不知道是哪两个数,A说:“虽然我不知道,但是肯定B也不知道。” 再问B,B说:“本来我不知道,但是听到A说这句话,现在我知道了。”,A听到B说他 知道了,然后就说:“现在我也知道了”。那么这两个数是多少呢?

符号假设:A:a+b=s   B:a*b=m
1.A说:“虽然我不知道,但是肯定B也不知道。” 
A不知道,可推出s有两个以上的和分解,如6=2+4=3+3;
A肯定B不知道,可推出m有两个以上的积分解,即s的所有可能的和分解的两个数不能同时为素数;
此时可以得出s的一些可行解:11,17,23,27,29,35,37,41,47,51,53,57,59...;
通过以上列出得和,推出积的可能性:
和->积
11->18,24,28,30
17->30,42,52,60,66,70,72
23->42,60,76,90,102,112,120...
27->50,72,92,110,126,140,152...
29->54,78,100,120,115,138,154...
35->66,96,124,150,174,196...
37->70,102,132,160,186,210...

2.B说:“本来我不知道,但是听到A说这句话,现在我知道了。”
B能知道A的推理过程,B说他知道了,因此首先可以去掉那些重复的积:
11->18,24,28
17->52
23->42,76...
27->50,92...
29->54,78...
35->96,124...
37->132,160...

3.A听到B说他 知道了,然后就说:“现在我也知道了”。
A也能知道B的推理过程,A说他知道了,因此可推出积是唯一的,即52

所有两个数分别为4和13,和为17,积为52


posted @ 2012-03-21 15:33  刘军newhand_liu  阅读(164)  评论(0编辑  收藏  举报