유클리드 호제법 - 최대공약수, 유한소수 판별하기
들어가기최근 코딩테스트를 풀면서, 약수, 소인수분해, 소수, 최대공약수 ...등등 수학에 대한 내용들을 많이 접해왔다. 특히 최대공약수를 구하는 부분이 성가셔서 한 번 정리해보려고 한다. 유클리드 호제법 두 양의 정수 a, b (a > b)에 대하여 a = bq + r (0 ≤ r 이라 하면, a, b의 최대공약수는 b, r의 최대공약수와 같다. 즉,gcd(a, b) = gcd(b, r)r=0이라면, a,b의 최대공약수는 b가 된다. r은 나머지를 뜻한다. 결론적으로, a와 b의 최대공약수는 b와 a, b의 나머지인 r의 최대공약수와 같다는 것이다. 이를 코드로 구현해보면 아래와 같다.// 최대공약수(GCD) 함수 (유클리드 호제법) private static int getGCD(int a,..
2025. 5. 6.