PUZZLE 0003
Largest Prime Factor
Project Euler · Problem 3
The prime factors of
What is the largest prime factor of
The challenge is less about raw speed than about keeping the remaining number small as soon as a factor is known.
Hints
Open one at a timeRemove each small factor completely before continuing.
When the loop ends, the remaining number may itself be prime.
Solution
Best opened after a real attemptStrip each factor completely
Whenever
ts
function largestPrimeFactor(value: number): number {
let n = value
let largest = 1
for (let divisor = 2; divisor * divisor <= n; divisor += divisor === 2 ? 1 : 2) {
while (n % divisor === 0) {
largest = divisor
n /= divisor
}
}
return n > 1 ? n : largest
}For the given number, the result is
The changing loop bound matters: every division reduces