Skip to content

Commit c00c689

Browse files
vamshi9trekhleb
authored andcommitted
Update euclideanAlgorithm.js (trekhleb#207)
Method 2 is easy to evaluate or understand without using recursion stack!
1 parent c4458e9 commit c00c689

File tree

1 file changed

+14
-0
lines changed

1 file changed

+14
-0
lines changed

src/algorithms/math/euclidean-algorithm/euclideanAlgorithm.js

+14
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,23 @@
33
* @param {number} originalB
44
* @return {number}
55
*/
6+
7+
/*Method 1: A bit Complex to understand*/
68
export default function euclideanAlgorithm(originalA, originalB) {
79
const a = Math.abs(originalA);
810
const b = Math.abs(originalB);
911

1012
return (b === 0) ? a : euclideanAlgorithm(b, a % b);
1113
}
14+
15+
/*Method 2: Easy to evaluate*/
16+
export default function euclideanAlgorithm2(originalA, originalB) {
17+
const a = Math.abs(originalA);
18+
const b = Math.abs(originalB);
19+
20+
while(a != b){
21+
[a,b] = a>b : [a-b, b] : [a, b-a]
22+
}
23+
24+
return a || b;
25+
}

0 commit comments

Comments
 (0)