BOJ#2609 최대공약수 최소공배수
* 문제
https://www.acmicpc.net/problem/2609
* 풀이
두 자연수 a, b가 주어졌을 때 (a>b),
두 자연수의 최대공약수를 구하는 알고리즘 : 유클리드 호제법
두 자연수의 최소공배수를 구하는 알고리즘 : a*b/최대공약수
유클리드 호제법
유클리드 호제법(Euclidean algorithm)은 2개의 자연수의 최대공약수를 구하는 알고리즘 중 하나이다.
호제법이란, 두 수가 서로 상대방 수를 나누어 결국 원하는 수를 얻는 알고리즘을 말한다.
m >= n일 때,
① m을 n으로 나눈다. 나머지를 r이라고 한다.
② 나머지 r이 0이면 n이 최대공약수이다. 나머지가 0이 아니라면 m의 값을 n으로 설정하고, n의 값은 r로 설정한 다음 ①로 되돌아가서 반복한다.
출처 : https://ko.wikipedia.org/wiki/%EC%9C%A0%ED%81%B4%EB%A6%AC%EB%93%9C_%ED%98%B8%EC%A0%9C%EB%B2%95
'Algorithm > 수학' 카테고리의 다른 글
BOJ#4134 다음 소수 (0) | 2016.11.09 |
---|---|
BOJ#1929 소수 구하기 (0) | 2016.11.08 |
BOJ#1007 Vector Matching (0) | 2016.11.04 |
BOJ#1004_어린 왕자 (0) | 2016.11.04 |
BOJ#1002_터렛 (0) | 2016.11.04 |