用C / C ++程序查找具有多个唯一素数的乘积?

独特的首要因素是一个素数也数的因素。在这个问题上,我们必须找到一个数的所有唯一素数的乘积。一个素数是一个数字,只有两个因素,这个数字和一个。

在这里,我们将尝试找到最佳方法来计算数字的唯一质数乘积。让我们以一个例子来使问题更加清楚。

有一个数字说n = 1092,我们必须得到这个唯一质数的乘积。1092的素数是2、3、7、13,乘积是546。

2找到这个简单的方法是找到该数字的所有因子,并检查该因子是否为质数。如果将其与数字相乘,然后返回乘法变量。

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;
}