19 lines
488 B
JavaScript
19 lines
488 B
JavaScript
|
function factors(n)
|
||
|
{
|
||
|
var num_factors = [], i;
|
||
|
|
||
|
for (i = 1; i <= Math.floor(Math.sqrt(n)); i += 1)
|
||
|
if (n % i === 0)
|
||
|
{
|
||
|
num_factors.push(i);
|
||
|
if (n / i !== i)
|
||
|
num_factors.push(n / i);
|
||
|
}
|
||
|
num_factors.sort(function(x, y)
|
||
|
{
|
||
|
return x - y;}); // numeric sort
|
||
|
return num_factors;
|
||
|
}
|
||
|
console.log(factors(15)); // [1,3,5,15]
|
||
|
console.log(factors(16)); // [1,2,4,8,16]
|
||
|
console.log(factors(17)); // [1,17]
|