C/C++ 程序如何查找某个数的唯一质因数的乘积?
cc++server side programmingprogramming
唯一质因数是某个数的因数,该数也是质数。在这个问题中,我们必须找到某个数的所有唯一质因数的乘积。质数是只有两个因数(数字和 1)的数。
在这里,我们将尝试找到计算某个数的唯一质因数乘积的最佳方法。让我们举个例子来让问题更清楚。
有一个数,比如 n = 1092,我们必须得到这个数的唯一质因数的乘积。1092 的质因数是 2、3、7、13,它们的乘积是 546。
要找到这个数,一个简单的方法是找到这个数的所有因数,然后检查该因数是否是质数。如果它将其乘以该数字,然后返回乘法变量。
输入:n = 10 输出:10
解释
这里,输入数字是 10,只有 2 个素因数,它们是 5 和 2。
因此它们的乘积是 10。
使用从 i = 2 到 n 的循环并检查 i 是否是 n 的因数,然后检查 i 是否是素数本身,如果是,则将乘积存储在乘积变量中并继续此过程直到 i = n。
示例
#include <iostream> using namespace std; int main() { int n = 10; long long int product = 1; for (int i = 2; i <= n; i++) { if (n % i == 0) { int isPrime = 1; for (int j = 2; j <= i / 2; j++) { if (i % j == 0) { isPrime = 0; break; } } if (isPrime) { product = product * i; } } } cout << product; return 0; }