최대 공약수란, 숫자 a, b가 주어졌을 떄, 공통되는 약수 중에서 최대 값을 의미한다.
a 를 b로 나누어서 b를 a에 나눈 나머지를 b 에 대입시켜서 b 가 0이 될때 까지 반복을a 값이 바로 최대 공약수 이다.def gcd():
while b>0:
a, b = b, a%b
return a
서로 다른 수 a,b의 배수 중에서 공통되는 배수 중에 가장 작은 값을 의미한다.
최소공배수는 a,b의 곱을 a,b의 최대 공약수로 나누면 나오게 된다.
import sys
def gcd(a, b):
while b>0:
a, b = b, a%b
return a
def lcd(a, b):
return a * b / gcd(a, b)