Files
30-seconds-of-code/snippets/primeFactors.md
Isabelle Viktoria Maciohsek 414e374ab4 Add primeFactors
2020-12-28 13:49:44 +02:00

586 B

title, tags
title tags
primeFactors math,algorithm,beginner

Finds the prime factors of a given number using the trial division algorithm.

  • 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]