두 양의 정수, 혹은 두 다항식의 최대공약수를 구하는 방법아다.
호제법이란 말은 두 수가 서로 상대방 수를 나누어서 결국 원하는 수를 얻는 알고리즘을 나타낸다.
👉 A > B 일때 A와 B의 최대공약수는 B와 나머지 R의 최대공약수와 같다.
큰 수(A)를 작은 수(B)로 나눈다. ( A > B )
나누는 수(B)를 나머지(R)로 계속 나눈다.
나머지가 0이 나오면 나누는 수가 최대 공약수이다.
const gcd = (a, b) => a % b === 0 ? b : gcd(b, a % b);
최소공배수는 두 수(a, b)를 곱한 후에 최대공약수로 나누면 나온다.
const lcm = (a,b) => a * b / gcd(a, b);