Python Program for 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 = 10Output:Product is 10Explanation: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 = 25Output:Product is 5Explanation: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.

`# 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` |

**Output:**

22

**Method 2 (Efficient) :**

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

`# 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` |

**Output:**

22

Please refer complete article on Product of unique prime factors of a number for more details!