유클리드의 호제법(Euclidean algorithm)은 두 수의 최대공약수를 구하는 알고리즘이다.
예를 들어, 24와 36의 최대공약수를 구하는 과정은 다음과 같다.
이를 수식으로 표현하면 다음과 같다.
gcd(24, 36) = gcd(36 % 24, 24) = gcd(12, 24 % 12) = gcd(12, 0) = 12
파이썬으로 구현하면 다음과 같다.
def gcd(a, b):
if b == 0:
return a
return gcd(b, a % b)
위의 예제에서 gcd(24, 36)을 구하는 코드는 다음과 같다.
print(gcd(24, 36)) # Output: 12
두 수의 최소공배수(LCM)와 최대공약수(GCD)는 다음 관계가 성립한다: m × n = GCD × LCM.
따라서 GCD를 구한 후, 두 수의 곱을 GCD로 나누면 최소공배수를 얻을 수 있다.