Algorithm/수학

BOJ#2609 최대공약수 최소공배수

밤이2209 2016. 11. 8. 16:14

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