Open In App

JavaScript Program to Find All Divisors of a Number

Last Updated : 26 Aug, 2023
Improve
Improve
Like Article
Like
Save
Share
Report

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


Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads