# 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:

Flowchart:

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

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.

﻿