C/C++程序:查找数字的唯一质因数的乘积?
唯一质因数是指既是该数字的因数,又是质数的因数。在这个问题中,我们必须找到一个数字的所有唯一质因数的乘积。质数是指只有两个因数的数,即该数本身和1。
在这里,我们将尝试找到计算数字唯一质因数乘积的最佳方法。让我们举一个例子来使问题更清晰。
假设有一个数字n = 1092,我们必须得到它的唯一质因数的乘积。1092的质因数是2、3、7、13,它们的乘积是546。
一种简单的办法是找到该数字的所有因数,并检查该因数是否为质数。如果是,则将其乘以该数,然后返回乘积变量。
Input: n = 10 Output: 10
解释
这里,输入数字是10,它只有2个质因数,分别是5和2。
因此它们的乘积是10。
使用循环从i = 2到n,并检查i是否为n的因数,然后检查i本身是否为质数,如果是,则将乘积存储在product变量中,并继续此过程直到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;
}
广告
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP