최대 공약수
GCD(Greatest Common Divisor)
둘 이상의 공통 약수 중 최대 수
위의 경우 72와 90의 최대 공약수는 18입니다.
gcd=1이면 서로 소관계에 있다고 표현한다.
최대 공배수
LCM(Least Common Multiple)
둘 이상의 숫자의 공통 배수 중 최소 수
위의 경우 24, 30의 최대 공배수는 120이 나온다.
구현
최소 공약수
def solution(a, b):
for i in range(min(a,b),0,-1):
if a%i == 0 and b%i == 0:
return i
최대 공배수
def solution(a, b):
for i in range(max(a,b),(a*b)+1):
if i%a == 0 and i%b == 0:
return i
요구하는 수가 많은 경우는, arguments 를 사용해 list 로서 받아, 코드를 변경해 사용하면 된다.
Math
math 라이브러리를 사용하여 최대 공약수 얻기
import math
#최소공약수
print(math.gcd(10,20))
print(math.gcd(15,20,30))
#최대공약수
print(math.lcm(10,20))
print(math.lcm(15,20,30))