UNPKG

dist-javascript-algorithms-and-data-structures

Version:

Algorithms and data-structures implemented on JavaScript

21 lines (18 loc) 619 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = euclideanAlgorithm; /** * Recursive version of Euclidean Algorithm of finding greatest common divisor (GCD). * @param {number} originalA * @param {number} originalB * @return {number} */ function euclideanAlgorithm(originalA, originalB) { // Make input numbers positive. const a = Math.abs(originalA); const b = Math.abs(originalB); // To make algorithm work faster instead of subtracting one number from the other // we may use modulo operation. return b === 0 ? a : euclideanAlgorithm(b, a % b); }