diff --git a/snippets/arrayGcd.md b/snippets/arrayGcd.md new file mode 100644 index 000000000..39a154059 --- /dev/null +++ b/snippets/arrayGcd.md @@ -0,0 +1,14 @@ +### arrayGcd + +Calculates the greatest common denominator (gcd) of an array of numbers. + +Use `Array.reduce()` and the `gcd` formula (uses recursion) to calculate the greatest common denominator of an array of numbers. + +```js +const arrayGcd = arr =>{ + const gcd = (x, y) => !y ? x : gcd(y, x % y); + return arr.reduce((a,b) => gcd(a,b)); +} +// arrayGcd([1,2,3,4,5]) -> 1 +// arrayGcd([4,8,12]) -> 4 +```