Related Articles
C Program for Find largest prime factor of a number
• Last Updated : 06 Dec, 2018

Given a positive integer ‘n'( 1 <= n <= 1015). Find the largest prime factor of a number.

Input: 6
Output: 3
Explanation
Prime factor of 6 are- 2, 3
Largest of them is '3'

Input: 15
Output: 5

 // C Program to find largest prime// factor of number#include #include   // A function to find largest prime factorlong long maxPrimeFactors(long long n){    // Initialize the maximum prime factor    // variable with the lowest one    long long maxPrime = -1;      // Print the number of 2s that divide n    while (n % 2 == 0) {        maxPrime = 2;        n >>= 1; // equivalent to n /= 2    }      // n must be odd at this point, thus skip    // the even numbers and iterate only for    // odd integers    for (int i = 3; i <= 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 program to test above functionint main(){    long long n = 15;    printf("%lld\n", maxPrimeFactors(n));      n = 25698751364526;    printf("%lld", maxPrimeFactors(n));      return 0;}
Output:
5
328513


Time complexity: Auxiliary space: Please refer complete article on Find largest prime factor of a number for more details!

Want to learn from the best curated videos and practice problems, check out the C Foundation Course for Basic to Advanced C.

My Personal Notes arrow_drop_up