w3resource

JavaScript: Calculate the greatest common divisor between two or more numbers/arrays

JavaScript fundamental (ES6 Syntax): Exercise-223 with Solution

Write a JavaScript program to calculate the greatest common divisor between two or more numbers/arrays.

  • The inner _gcd function uses recursion.
  • Base case is when y equals 0. In this case, return x.
  • Otherwise, return the GCD of y and the remainder of the division x/y.

Sample Solution:

JavaScript Code:

// Define a function 'gcd' to calculate the greatest common divisor (GCD) of multiple numbers
const gcd = (...arr) => {
  // Define a helper function '_gcd' to recursively calculate GCD using Euclidean algorithm
  const _gcd = (x, y) => (!y ? x : gcd(y, x % y));
  // Reduce the input array to find the GCD of all numbers using the '_gcd' function
  return [...arr].reduce((a, b) => _gcd(a, b));
};

// Log the GCD of two numbers (8 and 36) and multiple numbers (12, 8, and 32)
console.log(gcd(8, 36)); // Output: 4 (GCD of 8 and 36)
console.log(gcd(...[12, 8, 32])); // Output: 4 (GCD of 12, 8, and 32)

Output:

4
4

Visual Presentation:

JavaScript Fundamental: Calculate the greatest common divisor between two or more numbers/arrays.

Flowchart:

flowchart: Calculate the greatest common divisor between two or more numbers/arrays.

Live Demo:

See the Pen javascript-basic-exercise-223-1 by w3resource (@w3resource) on CodePen.


Improve this sample solution and post your code through Disqus

Previous: Write a JavaScript program that initializes an array containing the numbers in the specified range where start and end are inclusive and the ratio between two terms is step. Returns an error if step equals 1.
Next: Write a JavaScript program to remove HTML/XML tags from string.

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://w3resource.com/javascript-exercises/fundamental/javascript-fundamental-exercise-223.php