给定一个数n,我们需要找到它所有唯一素因子的乘积。 主要因素: 它基本上是一个数的因子,这个数本身就是一个素数。 例如:
null
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.
方法1(简单) 使用从i=2到n的循环,检查i是否是n的一个因子,然后检查i是否是素数本身,如果是,则将乘积存储在乘积变量中,并继续此过程,直到i=n。
CPP
// 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; } |
JAVA
// 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 |
Python3
# 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 |
C#
// 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 // 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. ?> |
Javascript
<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
方法2(高效) 这个想法是基于 打印给定数的所有素数因子的高效程序
CPP
// 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; } |
JAVA
// 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 |
Python3
# 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 = 44 print ( int (productPrimeFactors(n))) # Contributed by _omg |
C#
// 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 // 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 ?> |
Javascript
<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
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END