使用 C++ 求解给定乘积的不同质数
在本教程中,我们将讨论一个程序,该程序可以求解给定乘积的不同质数。
为此,我们将获得一个整数值。我们的任务是找到两个素整数的值,使得它们的乘积等于给定的值。
示例
#include <bits/stdc++.h> using namespace std; //generating prime numbers less than N. void findingPrimeNumbers(int n, bool calcPrime[]) { calcPrime[0] = calcPrime[1] = false; for (int i = 2; i <= n; i++) calcPrime[i] = true; for (int p = 2; p * p <= n; p++) { if (calcPrime[p] == true) { for (int i = p * 2; i <= n; i += p) calcPrime[i] = false; } } } //printing the valid prime pair void calcPairPrime(int n) { int flag = 0; bool calcPrime[n + 1]; findingPrimeNumbers(n, calcPrime); for (int i = 2; i < n; i++) { int x = n / i; if (calcPrime[i] && calcPrime[x] and x != i and x * i == n) { cout << i << " " << x; flag = 1; return; } } if (!flag) cout << "No prime pair exist"; } int main() { int n = 24; calcPairPrime(n); return 0; }
输出
No prime pair exist
广告