老师在2到9之间取出两个数, 把和告诉了A, 把积告诉了B,
老师问这两个数是多少?
然后 A说“我猜不出来”,
B说“我也才不出来”
A说“我猜到了”
B说“那我也猜到了”
请问这两个数是多少 ,请给出具体的结论
大家来算算看?
老师问这两个数是多少?
然后 A说“我猜不出来”,
B说“我也才不出来”
A说“我猜到了”
B说“那我也猜到了”
请问这两个数是多少 ,请给出具体的结论
大家来算算看?
解决方案 »
- hibernate无法级联删除,大家来帮我看下啊!
- struts.xml为什么匹配不到jquery提交的ajax的action请求呢?
- 请大家帮助一下我啊~~ 域用户验证相关~~
- JBoss连接SQL Server2000有问题,高手帮看一下
- 俺们公司要用j2ee和web的东西了,俺学过一点c和c++,搞j2ee是不是有必要把java基础的东西熟悉熟悉,各位推荐一本好书吧!
- 请教:hibernate.cfg.xml配置SQLSERVER连接的问题!使用jtds做为驱动?????
- 在应用struts开发的应用中,回退页面并刷新,后台出现java.io.NotSerializableException
- 初学J2EE的几个问题。
- 究竟整合Apache和Tomcat需要做什么工作?
- 如何判断字符串是否包含字符“#",并返回其位置?
- 高手解释一下Hibernate中的回调机制
- 如何快捷在Java中分页,效果如百度的1-n后面为省略号或者有其它分页效果?
这是经典的S先生和P先生的问题
如果没记错应该是3和14
以前也用程序做过,具体不多说了,LZ网上搜索一下吧
B第一次猜不出是因为积可以被表示成两种,只有很少几组:
2×6=3×4=12,2×9=3×6=18,3×8=4×6=24,所以A拿到的只有是7,8,9,10,11
A第二次猜:
如果A拿到11的话,A还是猜不出来的,因为可能是2和9,也可能是3和8。
如果A拿到7的话,他这时能猜到是3和4,但这时候B还是猜不出来的,因为B拿到12,可能是3和4,也可能是2和6。
如果A拿到8的话,他这时能猜到是2和6,但这时候B还是猜不出来的,理由同上。
但如果A拿到9,A猜到是3和6,这时B拿到18,这时B也能猜到了,因为不可能是2和9,否则A是猜不到的。
如果A拿到10,A猜到是4和6,这时B也能猜到,理由同上。
所以有两组结果:4和6,3和6.
如果是3和8,那A知道的是11 B知道的是24,11可能是3和8 4和7,如果是4和7,那B不应该说不知道,如果是3和8,A通过B的回答可以知道结果是3和8,但是B不可能知道结果是3和8,因为乘积为24的组合还有4x6同理排除4和6答案应该是3和4吧,7可能是3+4 2+5 所以A猜不出来是哪一组 乘积是12 ,可能是3x4 或 2x6 B也猜不出来
当B说也猜不出来的情况下,A可以排除2x5了,因为如果是10,那B应该知道是2和5(只有2x5=10),
当A说知道了,B也可以排除2x6了,因为如果是2和6,那A通过排除3和5,第一次就回答知道了,所以排除2和6
因此就只剩3和4是正确答案了
第二次a知道答案了,所以结果不能是11,排除3+8 = 2+9;
b也知道答案了 那么B的结果不能是12,排除 2*6 = 3*4;
A知道结果是9的时候 ,B的结果是18,可以根据A已经排除了2和9,得到结果3和6
同理 也可以得到结果 4和6
所以答案是(3,6)和(4,6)
第二条,再说B说 B也猜不出来 因为 不止有一对数的积等于B手里的数,并且这些数对中存在多于一个不唯一的数对(否则这里B就能判断出来)
第三条,A说 A猜出来 因为 所有和等于A手里数的数对 只有一组的积可以有多种数对表达
第四条,B说 那B也猜出来了因为在所有乘积等于B手里的数的数对中,和不止一个,切和的组中乘积不止一个的数对只有一个
满足这个条件的所有和对为[2 8
3 7
4 6][2 7
3 6
4 5][2 6
3 5][3 8
4 7
5 6]
所有积相同的数对只有
[2 6
3 4]
2+6=8
3+5=83+4=7唯一
直接就可以判断出来,不满足第2条。所以不是这组[2 9
3 6]
2+9=11
3+8=113+6=9
4+5=9
和等于11在和组中
9的组不在之前求出的和组中
所以这组满足条件
[3 8
4 6]3+8=11
4+7=114+6=10
3+7=1011与10都在满足条件的组中。所以这组不满足条件
所以最终答案只有一组
3,8