유클리드 호제법으로 최대공약수 구하기
최대공약수를 구하는 함수를 라고 하자.
이라면, 임이 성립.
이 이라면, 임이 성립한다.
def gcd(a, b):
mod = a%b
while mod > 0:
a = b
b = mod
mod = a%b
return b
최소공배수
최소공배수는 a과 b의 곱에 최대공약수를 나누어 준 것과 같다.
def lcm(a, b):
return a*b//gcd(a,b)
최대공약수 (GCD : Greatest Common Divisor)
최소공배수 (LCM : Least Common Multiple)
'아카이빙' 카테고리의 다른 글
Python으로 알고리즘 공부 10. 연쇄행렬 최소곱셈 알고리즘 (0) | 2017.07.14 |
---|---|
Python으로 알고리즘 공부 09. 정수의 제곱 계산 (0) | 2017.07.13 |
Python으로 알고리즘 공부 07. 중위표기법(Infix)를 후위표기법(Postfix)로 변환 (2) | 2017.07.07 |
Python으로 알고리즘 공부 06. 소수 (Prime number) (0) | 2017.07.05 |
Python으로 알고리즘 공부 05. 퀵 셀렉션 (Quick Selection) (0) | 2017.07.05 |