[알고리즘] 유클리드 호제법 & 백준(최대공약수와 최소공배수)
유클리드 호제법 유클리드 호제법을 알기 전에 먼저 호제법이란 두 수가 서로 상대방 수를 나누어서 결국 원하는 수를 얻는 알고리즘을 말한다. 우리가 알고자 하는 유클리드 호제법은 두 수의 최대공약수를 구하는 알고리즘이다. (A와 B의 최대공약수는 B와 A를 B로 나눈 나머지의 최대공약수와 같다는 것이다.) 2개의 자연수 a, b에 대해서 a를 b로 나눈 나머지를 r이라 하면 (단, a > b), a와 b의 최대공약수는 b와 r의 최대공약수와 같다. 즉, gcd(a, b) = gcd(b, r)와 같다는 말이다. (gcd()는 최대공약수를 나타내는 표기이다.) 예시 입력으로 보면, gcd(24, 18) = gcd(18, 6) = gcd(6, 0)인 것이다! 여기서 b가 0이 되는 순간의 6이 바로 최대공약수가..
2022. 12. 13.