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

}

以上是 用C / C ++程序查找具有多个唯一素数的乘积? 的全部内容, 来源链接: utcz.com/z/316741.html

回到顶部