UNPKG

mathball

Version:

A JavaScript library for Competitive Programming

33 lines (26 loc) 536 B
'use strict'; /* Prime factors * Function: findPrimeFactors() */ var validate = require('../validation/positive-integer'); function findPrimeFactors(num) { var result = []; while (num % 2 === 0) { result.push(2); num = num / 2; } for (var i = 3; i <= Math.sqrt(num); i = i + 2) { while (num % i == 0) { result.push(i); num = num / i; } } if (num > 2) { result.push(num); } return result; } exports.findPrimeFactors = function (num) { validate(num, 'findPrimeFactors'); return findPrimeFactors(num); };