C++程序:查找具有给定乘积的两个不同质数
在本教程中,我们将编写一个程序来查找具有给定乘积的两个不同质数。让我们看一些例子。
输入 − 21
输出 − 3 7
在这里,我们需要找到所有小于给定乘积的质数。一旦我们有了这些质数,我们就可以很容易地找到这对数。请按照以下步骤解决问题。
初始化一个乘积和一个布尔数组,用于存储该范围内的数字是否为质数。
找到所有小于给定乘积的质数,并将它们存储在一个数组中。
迭代到给定乘积。
如果当前数字是质数,并且n / current_number也是质数,则检查它们是否不同。
如果它们不同,则打印它们。
示例
让我们看看代码。
#include <bits/stdc++.h>
using namespace std;
bool primes(int n, bool primeStatus[]) {
primeStatus[0] = primeStatus[1] = false;
for (int i = 2; i <= n; i++) {
primeStatus[i] = true;
}
for (int i = 2; i * i <= n; i++) {
if (primeStatus[i] == true) {
for (int j = i * 2; j <= n; j += i)
primeStatus[j] = false;
}
}
}
int main() {
int n = 21;
bool primeStatus[n + 1], pairsFound = false;
primes(n, primeStatus);
for (int i = 2; i < n; i++) {
int pair = n / i;
if (primeStatus[i] && primeStatus[pair] && pair != i && pair * i == n) {
cout << i << " " << pair << endl;
pairsFound = true;
break;
}
}
if (!pairsFound){
cout << "No pairs";
}
return 0;
}输出
如果您运行上述代码,您将得到以下结果。
3 7
结论
如果您在本教程中有什么疑问,请在评论区提出。
广告
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP