programmers.co.kr/learn/courses/30/lessons/12940
코딩테스트 연습 - 최대공약수와 최소공배수
두 수를 입력받아 두 수의 최대공약수와 최소공배수를 반환하는 함수, solution을 완성해 보세요. 배열의 맨 앞에 최대공약수, 그다음 최소공배수를 넣어 반환하면 됩니다. 예를 들어 두 수 3, 12의
programmers.co.kr
최대공약수 GCD : The greatest common denominator
최대공배수 LCM : The least common multiple
성질 : 두 수의 곱 = GCD * LCM // 중학교 수학에서 배운다.
def solution(n, m):
g = 0
for i in range(n, 0, -1):
if n%i==0 and m%i==0:
g = i
break
return [g, m*n/g]
최대공약수를 좀 단순하게 구했는데 재귀를 이용한 우아한 방법이 있었다.
def gcd(a, b):
return b if a % b == 0 else gcd(b, a % b)
댓글