mathball
Version:
A JavaScript library for Competitive Programming
33 lines (26 loc) • 524 B
JavaScript
;
/* 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.find = function (num) {
validate(num, 'findPrimeFactors');
return findPrimeFactors(num);
};