# Java Program for Find largest prime factor of a number

Given a positive integer \’n\'( 1 <= n <= 10^{15}). Find the largest prime factor of a number.

Input:6Output:3ExplanationPrime factor of 6 are- 2, 3 Largest of them is \'3\'Input:15Output:5

## Java

`// Java Program to find largest` `// prime factor of number` `import` `java.io.*;` `import` `java.util.*;` ` ` `class` `GFG {` ` ` `// function to find largest prime factor` `static` `long` `maxPrimeFactors( ` `long` `n)` `{` ` ` `// Initialize the maximum prime` ` ` `// factor variable with the ` ` ` `// lowest one` ` ` `long` `maxPrime = -` `1` `;` ` ` ` ` `// Print the number of 2s` ` ` `// that divide n` ` ` `while` `(n % ` `2` `== ` `0` `) {` ` ` `maxPrime = ` `2` `;` ` ` ` ` `// equivalent to n /= 2` ` ` `n >>= ` `1` `; ` ` ` `}` ` ` ` ` `// n must be odd at this point,` ` ` `// thus skip the even numbers ` ` ` `// and iterate only for odd` ` ` `// integers` ` ` `for` `(` `int` `i = ` `3` `; i <= Math.sqrt(n); i += ` `2` `) {` ` ` `while` `(n % i == ` `0` `) {` ` ` `maxPrime = i;` ` ` `n = n / i;` ` ` `}` ` ` `}` ` ` ` ` `// This condition is to handle ` ` ` `// the case when n is a prime ` ` ` `// number greater than 2` ` ` `if` `(n > ` `2` `)` ` ` `maxPrime = n;` ` ` ` ` `return` `maxPrime;` `}` ` ` `// Driver code` `public` `static` `void` `main(String[] args)` `{` ` ` `Long n = 15l;` ` ` `System.out.println(maxPrimeFactors(n));` ` ` ` ` `n = 25698751364526l;` ` ` `System.out.println(maxPrimeFactors(n));` `}` `}` ` ` `// This code is contributed by Gitanjali` |

**Output:**

5 328513

**Time complexity: ****Auxiliary space: **

Please refer complete article on Find largest prime factor of a number for more details!