扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
首先第一句话:虽然我不知到这两个数是什麽,但我知道你一定也不知道。 从这句话说明孙手里拿到的两个数肯定都不是素数(什么是素数?就是除了1和它本身以外不再有其他因数的自然数),不然的话,孙通过知道庞的和就可以唯一判断出这两个数字了
十多年专注成都网站制作,成都企业网站建设,个人网站制作服务,为大家分享网站制作知识、方案,网站设计流程、步骤,成功服务上千家企业。为您提供网站建设,网站制作,网页设计及定制高端网站建设服务,专注于成都企业网站建设,高端网页制作,对茶艺设计等多个领域,拥有丰富的网站制作经验。
推理一:比如A=a+b,B=a*b;B=15,A=8,那么很容易就猜想到了a=3,b=5 (因为对15进行拆分只有一种可能),所以对庞的第一句话产生了矛盾;那么a,b两个数可能是一个奇数,一个偶数;另外有位大神认为任意大于4的偶数都能被拆成两个奇质数之和,但由于两个质数都要小于99,所以庞手上的数可能为偶数,但这个偶数会接近200(有182,184,188,190,192,196和198),除此之外,只可能是奇数;举例:如果庞涓手上是28,可以拆成11+17,当孙膑拿到了187这个积,马上就可以猜出鬼谷子给他的两个数是11和17,与庞涓肯定孙膑不知道这两个数相矛盾,因此有可能拆成两个2-99的质数和的数都要排除因此有可能拆成两个2-99的质数和的数都要排除
推理二:庞的和数一定不是大于55的数。因为大于53的数始终能够拆成质数53和另一个大于2的数,在2-99的限制下,这两个数的乘积只有这唯一一种拆分方法。举例:如果庞手上的和数是57,可以拆成53+4,当孙膑拿到212这个积,只有4*53这一种拆分可能性,因为2*106的另一种拆分方法导致有一个数超过99。由此排除55以上的所有所有数因此最后满足以上条件的这样的数字仅有11个:11,17,23,27,29,35,37,41,47,51,53。
第二句话:本来我不知道,现在知道了;这说明孙看了自己手上的积后,分解因式对应的所有拆分情况中有且仅有一种,两个因数的和是以上11个数中的一个。
第三句话:那我也知道了;由于庞涓并不知道两数积,所以只能从以上表格出发确定,最后得到两个数字分别是4和13
也许上面的解析并不通俗易懂,其中涉及到很多数学知识和推理能力,如果感兴趣可以基于上述讲解自行进行推导;其实这道题的本质是基于每次的问题进行排除,尽可能的缩小范围,最后得到结果;那么最后通过SQL的方式来解决这类问题,或许通过sql(基于HQL)的方式可以帮助读者更加清晰理解
循环查询之前给个变量,循环累加,判断是否能被2整除
如$i=0;
while(){
$i++;
if($i mod 2){
//应用样式1的处理
}
else{
//应用样式2的处理
}
}
oracle中用mod
如:
select mod(4,2) from dual; -- 结果为0是偶数
select mod(3,2) from dual; -- 结果为1是奇数
sqlserver直接用%
如:
select 4%2 -- 结果为0是偶数
select 3%2 -- 结果为1是奇数
mysql同oracle
如:
select mod(4,2) -- 结果为0是偶数
select mod(3,2) -- 结果为1是奇数
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流