Largest Prime Factor Java

PROGRAM TO FIND LARGEST PRIME FACTOR


import java.io.*;
import java.util.*;
  
class MAIN {
  
    // function to find largest prime factor
    static long maxPrimeFactors(long n)
    {
        long maxPrime = -1;
  
        // Print the number of 2s
        // that divide n
        while (n % 2 == 0) {
            maxPrime = 2;
  
            // equivalent to n /= 2
            n >>= 1;
        }
  
        for (int i = 3; i <= Math.sqrt(n); i += 2) {
            while (n % i == 0) {
                maxPrime = i;
                n = n / i;
            }
        }
  
        // 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));
    }
}

OUTPUT
5
328513

Comments

Popular posts from this blog

Solve the Sudoku Python

Solve the Sudoku Java

Find Duplicates Java