JSFiddle - React, Tailwind, and code Playground

by nerdycap007

JavaScript

// 2, 12 = 2
// 6, 12 = 6
// 10, 12 = 2
// 3, 11 = 1

/* 
	Euclidian method:
  gcd(18, 12) = gcd(12, 18%12) = gcd(12, 6) = gcd(6, 12%6) = gcd(6, 0) = 6
*/

function gcd(num1, num2) {
  let max = Math.max(num1, num2)
  let min = Math.min(num1, num2)
  if (min === 0) return max
  return gcd(min, max % min)
}

console.log(gcd(16, 12))