 # Problem 3: Largest prime factor

## Problem Explanation

• To find the largest prime factor of a number, we start from the smallest prime factor 2 and divide the number with it.
• If the remainder is 0 that means the number is divisible by that prime number, we keep dividing the number by same prime number until that number is no more divisible by that prime number.
• After that, we incrememnt the prime factor by 1 and repeat this process till the number becomes 1.

## Solutions

Solution 1 (Click to Show/Hide)
``````const largestPrimeFactor = (number) => {
let largestFactor = number;

for (let i = 2; i <= Math.sqrt(largestFactor); i++) {
if (!(largestFactor % i)) {
let factor = largestFactor / i;
let candidate = largestPrimeFactor(factor);

return i > candidate ? i : candidate;
}
}

return largestFactor;
}
``````
Solution 2 (Click to Show/Hide)
``````function largestPrimeFactor(number) {
let prime = 2,
max = 1;
while (prime <= number) {
if (number % prime == 0) {
max = prime;
number = number / prime;
} else prime++; //Only increment the prime number if the number isn't divisible by it
}
return max;
}
``````