淘客熙熙

主题:【原创推理】对于Ready-go的推理题第一题我的推理分析 -- 不爱吱声

共:💬12
全看分页树展 · 主题 跟帖
家园 还是不懂你的解释。

我想你要说的是这个意思:因为我们考虑一个数比如x是4的时候,xy的积可以分解为2*2*y的形式。因为2*y必须小于50, 所以另一个数只能是小于25的质数。于是x+y只有五种情况:11,17,23,27,29。

如果你真的这么想,就有两个错。一个错是因为x+y不一定是奇数。我的帖子中已经说明了,有偶数的可能(x+y=82)。更大的错是为什么只考虑xy=n1*n2*n3(n1~n3均为质素)的可能性。的确,在这种情况下,因为n1>2,所以n2和n3必须小于25。 问题是,为什么不考虑xy=n1*n2*n3*n4*n5...(即xy均为和数)的可能。这种情况xy互换因子产生的差别是可以小于2的。比如xy=1470=2*3*5*7*7, 有两种分解 (42*35)和 (49*30) (两组换的是2*3和7)。小筑不妨拆一下210和630。我的分解结果如下。

210 --> (30+7=37) 或 (15+14=29) 或 (42+5=47) 或 (35+6=41)

630 --> (35+18=53)或 (30+21=51) 或 (45+14=59)或 (42+15=57)

对小筑的结果,因为没有过程,我不知道你是怎么得出的。小筑有程序为后盾,不过我更看重的是背后的逻辑和推理。先开始我只想用笔和纸来完成任务,不得已才用计算机的。我的算法如下,好向小筑解释:

1。确定可能的x+y的值:(就是结论一中列出的 11, 17, 23, 27, 29, 35, 37, 41, 47, 51, 53, 55, 57, 59, 61, 63, 65, 67, 69, 71, 73, 75, 77, 79, 81, 82, 83, 85, 86, 87, 89, 91, 92, 93, 94, 95).

2。寻找x*y组合中,x+y的值正好在上述范围内的组合。

for(i=0;i<2500;i++) x[i]=y[i]=xADDy[i]=xBYy[i]=-1;

for(i=2;i<50;i++){

for(j=2;j<i;j++){ //因为对称,只用搜一半就行

k=i*50+j;

if((i+j)== 结论一中的可能值之一)){ //在可能值数组中找一遍

x[k]=i, y[k]=j, xADDy[k]=i+j, xBYy[i]=i*j; //保存分解

}

}

}

3。寻找有多种分解的x*y值, 列出其分解(注意,分解出的x和y的合是结论一中的可能值之一)。

这个搜索就简单了。从数组的0~2499,取大于0的xBYy[i]值看后面还出现不,有重复就输出分解(x,y,x+y,x*y)到结果文件中。

全看分页树展 · 主题 跟帖


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河