陪伴而非守候
积的质因子不可能是大于50的(例如53,2x53已经大于100,所以如果有53就直接明确答案了)没人出手?那我来。不给你发网上找的了,那些我都看不懂。积先生:我不知道x和y分别是啥。积先生目前的底牌是知道积的质因子分解。他的话向和先生提供了这些讯息:1.积至少有3个质因子,且不能是n^3。2.质因子不可能是大于50的(例如53,2*53已经大于100,所以如果有53就直接明确答案了)。可能的质因子只有2、3、5、7、11、13、17、19、23、29、31、37、41、43、47这几个。3.考虑信息1后,积不可能是98*99或3*4这样的顶端值。此时可得到和的区间为[8,196]。4.积不能是32*64,因为这也能直接得出结论。和先生:我知道你不知道,我也不知道。和先生目前的底牌是知道和以及积先生透露的信息。而他的话向积先生提供了这些讯息:和不可能是一个大于53+3、小于97+100的数,否则必定能构造出一个大质数+合数的组合,可以被积先生一猜而中,和先生也就不能肯定地说出“我知道你不知道”。例如57=53+4时积先生必能一猜而中。此时和的区间缩小为[8,55]。排除所有两个质数的和,这也是会产生积先生猜中可能的情况。先排除所有偶数,再排除质数+2。此时和的取值可能为[11,17,23,27,29,35,37,41,47,51,53],只剩下11种。当然此时可判断,两数有且只有一个数是偶数。和至少能有两种分解方式可以满足上述条件。(这条似乎已经没有进一步约束力了……)积先生:我现在知道了。积先生目前的底牌是知道积的质因子分解,知道了和的11种取值可能,他依此直接得到了答案。他的话向和先生提供了这些讯息:质因子构成的X、Y组合中,有且只有一组可以得到这11个和中的一种。考虑积为2^n*质数,由于只有一种拆分方式,是能够在这一步让积先生猜到答案的。可取值包括[4*7,4*13,4*19,4*23,4*31,4*37,4*43,4*47,8*3,8*19,8*29,8*43,16*7,16*11,16*13,16*19,16*31,16*37,32*3,32*5,32*19]这几种,全部保留。(我没弄错吧?眼花了已经。)。考虑积的质因子含相同非2质数,则有[9,25,27,45,49]。可取值为[8*9,32*9,16*25,2*27,8*27,8*45,4*49]。其中8*9=3*24,3+24=29,剔除;32*9=96*3,96+3=99,保留;16*25=80*5,80+5=85,保留;2*27=6*9=18*3,保留;8*27=24*9=72*3,保留;8*45=24*15=72*5=40*9,保留;4*49=28*7,28+7=35;剔除。考虑积的质因子含不同非2质数,则有[15,21,33,35,39,51](45在上面用掉了)。可取值为[2*15,8*15,32*15,2*21,8*21,16*21,...省略]。2*15=5*6,5+6=11,剔除;8*15=24*5=40*3,24+5=29剔除……(已经不用列下去了,因为这时候已经可以注意到一个问题了……)没有下一种情况了。和先生:那我也知道了。要让和先生在这一轮猜到答案,那他手中的和有且只能有一组拆法,可以让积先生在上一轮命中,即拆成我们对上一轮分析中保留的值。发现上面说的一个问题了没?上一轮2-4中保留的那些可取值,观察下它们的和。比如:2中[111723273541475111273751232729354753353751],3中[41,41,29,35,53],4中的[...](不用列了,因为注意到即使有也一定会比17大)。我们可以发现,只有17这个和出现了一次,其它和都出现了两次或更多。要保证和先生在这一轮可以得出结论,必须剔除所有多选,于是和的取值只可能是17,对应的积为4*13。答案至此真相大白:两个数为4和13,和先生手中是17,积先生手中是52。什么,你说如何编程解决?对不起以上都都是我瞎编的,我已经编不下去了。拜拜。