Product of unique prime factors of a number

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.

filter_none

edit
close

play_arrow

link
brightness_4
code

// 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 function
int main()
{
    int n = 44;
    cout << productPrimeFactors(n);
    return 0;
}
chevron_right

filter_none

edit
close

play_arrow

link
brightness_4
code

// 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
chevron_right

filter_none

edit
close

play_arrow

link
brightness_4
code

# 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 = 44
print (productPrimeFactors(n))
  
# Contributed by _omg
chevron_right

filter_none

edit
close

play_arrow

link
brightness_4
code

// 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
chevron_right

filter_none

edit
close

play_arrow

link
brightness_4
code

<?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.
?>
chevron_right

Output :

22

Method 2 (Efficient)
The idea is based on Efficient program to print all prime factors of a given number

filter_none

edit
close

play_arrow

link
brightness_4
code

// 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 n
long 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 Code
int main()
{
    int n = 44;
    cout << productPrimeFactors(n);
    return 0;
}
chevron_right

filter_none

edit
close

play_arrow

link
brightness_4
code

// 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
chevron_right

filter_none

edit
close

play_arrow

link
brightness_4
code

# 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)), 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 = 44
print (int(productPrimeFactors(n)))
  
# Contributed by _omg
chevron_right

filter_none

edit
close

play_arrow

link
brightness_4
code

// 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...
chevron_right

filter_none

edit
close

play_arrow

link
brightness_4
code

<?php
// PHP program to find product of 
// unique prime factors of a number
  
// A function to print all prime 
// factors of a given number n
function 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
?>
chevron_right

Output :
22



Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.



Improved By : parashar, nitin mittal, jit_t



Article Tags :
Practice Tags :