JavaScript Program to Find All Divisors of a Number
Last Updated :
26 Aug, 2023
In this article, we will demonstrate different approaches to writing a JavaScript Program to Find all Divisors of a Number. We will have an input number and print all the divisors of that number in the form of a resultant array.
Methods to Find All Divisors of a Number
- Naive Approach
- Recursive Approach
Method 1: Naive Approach
In this method, we will use a JavaScript loop to iterate the possible factors and Math.pow() method to get the square root of the number. Instead of Math.pow() method, we can also use Math.sqrt() or i*i < n condition.
Example:
Javascript
function prime(n) {
let result = [1,n];
for (let i = 2; i < Math.pow(n, 0.5); i++) {
if (n % i == 0) {
result.push(i);
result.push(n / i);
}
}
return result.sort((a, b) => a - b);
}
const num = 90;
console.log( "Prime factors of " +
num + ": " + prime(num));
|
Output
Prime factors of 90: 1,2,3,5,6,9,10,15,18,30,45,90
Method 2: Recursive Approach
In this method, we will call the function recursively and return the output with the spread operator to get the array output.
Example:
Javascript
function recursiveFactor(n, d) {
if (n < 1) return [];
if (n == 1) return [1];
if (n == 2) return [1,2];
if (n/d<2)
return [n];
if (n % d == 0) return [d, ...recursiveFactor(n, d + 1)];
return recursiveFactor(n, d + 1);
}
const num = 85;
console.log(
"All factors of " +
num + ": " +
recursiveFactor(num, 1)
);
|
Output
All factors of 85: 1,5,17,85
Share your thoughts in the comments
Please Login to comment...