w3resource

JavaScript: Least common multiple (LCM) of more than 2 integers

JavaScript Math: Exercise-11 with Solution

Write a JavaScript function to get the least common multiple (LCM) of more than 2 integers.

Test Data :
console.log(lcm_more_than_two_numbers([100,90,80,7]));
console.log(lcm_more_than_two_numbers([5,10,15,25]));
Output :
25200
150

Sample Solution:

JavaScript Code:

// Define a function named lcm_more_than_two_numbers that calculates the least common multiple (LCM) of an array of numbers.
function lcm_more_than_two_numbers(input_array) {
    // Check if the input is an array, if not, return false.
    if (toString.call(input_array) !== "[object Array]")  
        return false;  
    
    var r1 = 0, r2 = 0;
    // Get the length of the input array.
    var l = input_array.length;
    // Iterate through the input array to calculate the LCM.
    for(i = 0; i < l; i++) {
        // Calculate the remainder when dividing the current element by the next element.
        r1 = input_array[i] % input_array[i + 1];
        // If the remainder is 0, update the next element to the product of the current element and the next element divided by the next element.
        if (r1 === 0) {
            input_array[i + 1] = (input_array[i] * input_array[i + 1]) / input_array[i + 1];
        }
        // If the remainder is not 0, calculate the remainder when dividing the next element by the previous remainder.
        else {
            r2 = input_array[i + 1] % r1;
            // If the new remainder is 0, update the next element to the product of the current element and the next element divided by the previous remainder.
            if (r2 === 0) {
                input_array[i + 1] = (input_array[i] * input_array[i + 1]) / r1;
            }
            // If the new remainder is not 0, update the next element to the product of the current element and the next element divided by the new remainder.
            else {
                input_array[i + 1] = (input_array[i] * input_array[i + 1]) / r2;
            }
        }
    }
    // Return the last element of the modified input array, which represents the LCM.
    return input_array[l - 1];
}

// Output the LCM of the numbers 100, 90, 80, and 7 to the console.
console.log(lcm_more_than_two_numbers([100, 90, 80, 7])); 
// Output the LCM of the numbers 5, 10, 15, and 25 to the console.
console.log(lcm_more_than_two_numbers([5, 10, 15, 25]));

Output:

25200
150

Flowchart:

Flowchart: JavaScript Math- Least common multiple (LCM) of more than 2 integers

Live Demo:

See the Pen javascript-math-exercise-11 by w3resource (@w3resource) on CodePen.


Improve this sample solution and post your code through Disqus.

Previous: Write a JavaScript function to find out if a number is a natural number or not.
Next: Write a JavaScript function to get the least common multiple (LCM) of more than 2 integers.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Become a Patron!

Follow us on Facebook and Twitter for latest update.

It will be nice if you may share this link in any developer community or anywhere else, from where other developers may find this content. Thanks.

https://www.w3resource.com/javascript-exercises/javascript-math-exercise-11.php