Find the prime factors of a number in JavaScript
The prime factors of a number are the prime numbers that divide the number exactly. An easy way to find the prime factors of a number is using trial division, which is a simple algorithm that checks each possible prime factor in order.
Implementing the algorithm is straightforward. You can use a while
loop to iterate over all possible prime factors, starting with 2
. If the current factor, f
, exactly divides n
, add f
to the factors array and divide n
by f
. Otherwise, increment f
by one.
const primeFactors = n => { let a = [], f = 2; while (n > 1) { if (n % f === 0) { a.push(f); n /= f; } else { f++; } } return a; }; primeFactors(147); // [3, 7, 7]