Product of unique prime factors of a number - GeeksforGeeks

04 May, 2021
Given a number n, we need to find the product of all of its unique prime factors. Prime factors: It is basically a factor of the number that is a prime number itself. Examples :  
Input: num = 10
Output: Product is 10
Explanation:
Here, the input number is 10 having only 2 prime factors and they are 5 and 2.
And hence their product is 10.

Input : num = 25
Output: Product is 5
Explanation:
Here, for the input to be 25  we have only one unique prime factor i.e 5.
And hence the required product is 5.
 
Method 1 (Simple) Using a loop from i = 2 to n and check if i is a factor of n then check if i is prime number itself if yes then store product in product variable and continue this process till i = n. 
CPP
Java
Python3
C#
PHP
Javascript
// C++ program to find product of// unique prime factors of a number#include <bits/stdc++.h>using namespace std; long long int productPrimeFactors(int n){    long long int product = 1;     for (int i = 2; i <= n; i++) {         // Checking if 'i' is factor of num        if (n % i == 0) {             // Checking if 'i' is a Prime number            bool isPrime = true;            for (int j = 2; j <= i / 2; j++) {                if (i % j == 0) {                    isPrime = false;                    break;                }            }             // condition if 'i' is Prime number            // as well as factor of num            if (isPrime) {                product = product * i;            }        }    }     return product;} // driver functionint main(){    int n = 44;    cout << productPrimeFactors(n);    return 0;}
// Java program to find product of// unique prime factors of a number. class GFG {    public static long productPrimeFactors(int n)    {        long product = 1;         for (int i = 2; i <= n; i++) {            // Checking if 'i' is factor of num            if (n % i == 0) {                 // Checking if 'i' is a Prime number                boolean isPrime = true;                for (int j = 2; j <= i / 2; j++) {                    if (i % j == 0) {                        isPrime = false;                        break;                    }                }                 // condition if 'i' is Prime number                // as well as factor of num                if (isPrime) {                    product = product * i;                }            }        }        return product;    }     // Driver Code    public static void main(String[] args)    {        int n = 44;        System.out.print(productPrimeFactors(n));    }} // This code is contributed by _omg
# Python program to find sum of given# series. def productPrimeFactors(n):    product = 1         for i in range(2, n + 1):        if (n % i == 0):            isPrime = 1                         for j in range(2, int(i / 2 + 1)):                if (i % j == 0):                    isPrime = 0                    break                             # condition if 'i' is Prime number            # as well as factor of num            if (isPrime):                product = product * i                     return product                # main()n = 44print (productPrimeFactors(n)) # Contributed by _omg
// C# program to find product of// unique prime factors of a number.using System; class GFG {     // Function to find product of unique    // prime factors of a number    public static long productPrimeFactors(int n)    {        long product = 1;         for (int i = 2; i <= n; i++) {             // Checking if 'i' is factor of num            if (n % i == 0) {                 // Checking if 'i' is a Prime number                bool isPrime = true;                for (int j = 2; j <= i / 2; j++) {                    if (i % j == 0) {                        isPrime = false;                        break;                    }                }                 // condition if 'i' is Prime number                // as well as factor of num                if (isPrime) {                    product = product * i;                }            }        }        return product;    }     // Driver Code    public static void Main()    {        int n = 44;        Console.Write(productPrimeFactors(n));    }} // This code is contributed by nitin mittal
<?php// PHP program to find// product of unique// prime factors of a number function productPrimeFactors($n){    $product = 1;     for ($i = 2; $i <= $n; $i++)    {                 // Checking if 'i' is        // factor of num        if ($n % $i == 0)        {                         // Checking if 'i' is            // a Prime number            $isPrime = true;            for ($j = 2; $j <= $i / 2; $j++)            {                if ($i % $j == 0)                {                    $isPrime = false;                    break;                        }            }             // condition if 'i' is            // Prime number as well            // as factor of num            if ($isPrime)            {                $product = $product * $i;            }        }    }     return $product;} // Driver Code$n = 44;echo(productPrimeFactors($n)); // This code is contributed by Ajit.?>
<script> // JavaScript program to find product of// unique prime factors of a number.     function productPrimeFactors(n)    {        let product = 1;           for (let i = 2; i <= n; i++) {            // Checking if 'i' is factor of num            if (n % i == 0) {                   // Checking if 'i' is a Prime number                let isPrime = true;                for (let j = 2; j <= i / 2; j++) {                    if (i % j == 0) {                        isPrime = false;                        break;                    }                }                   // condition if 'i' is Prime number                // as well as factor of num                if (isPrime) {                    product = product * i;                }            }        }        return product;    } // Driver Code         let n = 44;        document.write(productPrimeFactors(n)); // This code is contributed by avijitmondal1998.</script>
22
 
Method 2 (Efficient) The idea is based on Efficient program to print all prime factors of a given number 
CPP
Java
Python3
C#
PHP
Javascript
// C++ program to find product of// unique prime factors of a number#include <bits/stdc++.h>using namespace std; // A function to print all prime// factors of a given number nlong long int productPrimeFactors(int n){    long long int product = 1;     // Handle prime factor 2 explicitly    // so that can optimally handle    // other prime factors.    if (n % 2 == 0) {        product *= 2;        while (n % 2 == 0)            n = n / 2;    }     // n must be odd at this point.    // So we can skip one element    // (Note i = i + 2)    for (int i = 3; i <= sqrt(n); i = i + 2) {        // While i divides n, print        // i and divide n        if (n % i == 0) {            product = product * i;            while (n % i == 0)                n = n / i;        }    }     // This condition is to handle the    // case when n is a prime number    // greater than 2    if (n > 2)        product = product * n;     return product;} // Driver Codeint main(){    int n = 44;    cout << productPrimeFactors(n);    return 0;}
// Java program to find product of// unique prime factors of a number.import java.util.*;import java.lang.*; class GFG {    public static long productPrimeFactors(int n)    {        long product = 1;        // Handle prime factor 2        // explicitly so that can        // optimally handle other        // prime factors.        if (n % 2 == 0) {            product *= 2;            while (n % 2 == 0)                n = n / 2;        }         // n must be odd at this point.        // So we can skip one element        // (Note i = i +2)        for (int i = 3; i <= Math.sqrt(n); i = i + 2) {            // While i divides n, print            // i and divide n            if (n % i == 0) {                product = product * i;                while (n % i == 0)                    n = n / i;            }        }         // This condition is to handle        // the case when n is a prime        // number greater than 2        if (n > 2)            product = product * n;         return product;    }     // Driver Code    public static void main(String[] args)    {        int n = 44;        System.out.print(productPrimeFactors(n));    }} // This code is contributed by _omg
# Python program to find product of# unique prime factors of a number import math def productPrimeFactors(n):    product = 1         # Handle prime factor 2 explicitly so that    # can optimally handle other prime factors.    if (n % 2 == 0):        product *= 2        while (n % 2 == 0):            n = n / 2                 # n must be odd at this point. So we can    # skip one element (Note i = i + 2)    for i in range (3, int(math.sqrt(n))+1, 2):        # While i divides n, print i and        # divide n        if (n % i == 0):            product = product * i            while (n % i == 0):                n = n / i                     # This condition is to handle the case when n    # is a prime number greater than 2    if (n > 2):        product = product * n             return product         # main()n = 44print (int(productPrimeFactors(n))) # Contributed by _omg
// C# program to find product// of unique prime factors// of a number.using System; public class GFG {     // Function to find product    // of prime factors    public static long productPrimeFactors(int n)    {        long product = 1;         // Handle prime factor 2 explicitly        // so that can optimally handle        // other prime factors.        if (n % 2 == 0) {            product *= 2;            while (n % 2 == 0)                n = n / 2;        }         // n must be odd at this point.        // So we can skip one        // element (Note i = i + 2)        for (int i = 3; i <= Math.Sqrt(n);             i = i + 2) {             // While i divides n, print            // i and divide n            if (n % i == 0) {                product = product * i;                while (n % i == 0)                    n = n / i;            }        }         // This condition is to handle        // the case when n is a prime        // number greater than 2        if (n > 2)            product = product * n;         return product;    }     // Driver Code    public static void Main(String[] args)    {        int n = 44;        Console.Write(productPrimeFactors(n));    }} // This code is contributed by parashar...
<?php// PHP program to find product of// unique prime factors of a number // A function to print all prime// factors of a given number nfunction productPrimeFactors( $n){    $product = 1;     // Handle prime factor 2     // explicitly so that can    // optimally handle other    // prime factors.    if ($n % 2 == 0)    {        $product *= 2;        while ($n % 2 == 0)            $n = $n / 2;    }     // n must be odd at this point.    // So we can skip one element    // (Note i = i + 2)    for ($i = 3; $i <= sqrt($n); $i = $i + 2)    {        // While i divides n, print        // i and divide n        if ($n % $i == 0)        {            $product = $product * $i;            while ($n % $i == 0)                $n = $n / $i;        }    }     // This condition is to handle the    // case when n is a prime number    // greater than 2    if ($n > 2)        $product = $product * $n;     return $product;} // Driver Code$n = 44;echo productPrimeFactors($n); // This code is contributed by ajit?>
<script> // Javascript program to find product of// unique prime factors of a number.     function productPrimeFactors(n)    {        var product = 1;        // Handle prime factor 2        // explicitly so that can        // optimally handle other        // prime factors.        if (n % 2 == 0) {            product *= 2;            while (n % 2 == 0)                n = n / 2;        }         // n must be odd at this point.        // So we can skip one element        // (Note i = i +2)        for (i = 3; i <= Math.sqrt(n); i = i + 2)        {            // While i divides n, print            // i and divide n            if (n % i == 0) {                product = product * i;                while (n % i == 0)                    n = n / i;            }        }         // This condition is to handle        // the case when n is a prime        // number greater than 2        if (n > 2)            product = product * n;         return product;    }     // Driver Code             var n = 44;        document.write(productPrimeFactors(n)); // This code contributed by aashish1995 </script>
22
 
parashar
nitin mittal
jit_t
_sachin_
avijitmondal1998
aashish1995
Prime Number
prime-factor
school-programming
Mathematical
Mathematical
Prime Number
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Comments
Old Comments
Merge two sorted arrays
Modulo Operator (%) in C/C++ with Examples
Program to find sum of elements in a given array
Operators in C / C++
Program for factorial of a number
Algorithm to solve Rubik's Cube
Print all possible combinations of r elements in a given array of size n
The Knight's tour problem | Backtracking-1
Minimum number of jumps to reach end
Find minimum number of coins that make a given value