반응형
A, B의 최대공약수는 B, A%B의 최대공약수와 같다.
이 성질을 이용해 A%B의 결과가 0이 될 때까지 나머지를 구해주면
최대 공약수를 얻을 수 있다.
아래는 최대 공약수를 구하는 함수이다.
1
2
3
4
5
6
7
8
|
def gcd(a, b):
if b == 0:
return a
else:
return gcd(b, a%b)
a = gcd(n, m)
b = (n*m) // a
|
최소공배수는 최대공약수를 알고 있다면 쉽게 구할 수 있다.
'A x B = 최대공약수 x 최소공배수'이기 때문에
'최소공배수 = A x B / 최대공약수'로, A와 B를 곱한 값에서 최대공약수를 나눠주면 된다.
반응형
'Python > 기초' 카테고리의 다른 글
우선순위 큐 (0) | 2019.08.21 |
---|---|
스택 구현하기 (0) | 2019.08.21 |
소수 구하기 - 에라토스테네스의 체 (0) | 2019.08.21 |