在本文中,我们将讨论一个程序,以查找元素数小于或等于N并遵循某些特定条件的唯一数字对-
两个数字之差的平方必须等于这两个数字的LCM。
这两个数字的HCF可以表示为任何两个连续数字的乘积。
解决此问题的最佳方法是采用两个连续的数字(从1开始)并找到这些数字乘积的倍数。然后在倍数中,要指定一对数字,我们需要检查一对数字是否满足第一个给定条件。
例如,假设2和3。它们的乘积为6。现在,如果我们继续乘以6的倍数,我们将得到6、12、18、24…一次取两个数字,我们检查是否两个连续数字之间的差异平方(在这种情况下为36)等于这些数字的LCM。在这种情况下,我们最终得到的对是12和18。
推广方程式,我们得到两个数字分别为Z *(Z *(Z + 1))和(Z + 1)*(Z *(Z + 1)),其中Z是HCF(连续对)中的第一个数字产品)。
最后,使用值应小于N的条件,我们得到
(Z + 1)*(Z *(Z + 1))<= N或Z 3 +(2 * Z 2)+ Z <= N.
#include <iostream>
using namespace std;
int main() {
int N = 489, pairs, i = 1;
//counting the number of pairs having elements less than N
while((i*i*i) + (2*i*i) + i <= N) {
i++;
}
pairs = i;
cout << "Pairs :" << endl;
//printing the two elements of the pair
for(int j = 1; j < pairs; j++) {
cout << j*(j*(j+1)) << " " << (j+1)*(j*(j+1)) << endl;
}
return 0;
}输出结果
Pairs : 2 4 12 18 36 48 80 100 150 180 252 294 392 448