최대공약수, 최소공배수를 JAVA로 구해보자(유클리드 호제법, BigInteger)
들어가기 전에 코딩테스트 문제를 풀다보면 종종 최대공약수 혹은 최대공배수를 구할 때가 있다. 가장 대표적인 문제가 아래에 있는 최소공배수문제이다. https://www.acmicpc.net/problem/13241 13241번: 최소공배수 정수 B에 0보다 큰 정수인 N을 곱해 정수 A를 만들 수 있다면, A는 B의 배수이다. 예: 10은 5의 배수이다 (5*2 = 10) 10은 10의 배수이다(10*1 = 10) 6은 1의 배수이다(1*6 = 6) 20은 1, 2, 4,5,10,20의 배수이다. 다 www.acmicpc.net 이럴때 어떤 알고리즘을 사용해야하는지, 그리고 간단하게 해결할 수는 없는지 알아보도록 하자. 개념을 알아보자 약수란?? 약수란 어느 한 숫자를 0을 제외한 다른 숫자로 나누었을 ..