문제 링크
- http://icpc.me/2436
문제 출처
- 2011 KOI 초등부 2번, 중등부 1번, 고등부 1번
풀이
최대공약수를 $G$, 최소공배수를 $L$, 정답이 되는 두 수를 $A, B$라고 하면, 서로소인 두 자연수 $a, b$에 대해 $A = Ga, B = Gb, L = abG$라고 할 수 있습니다.
문제에서 $G, L$이 주어지므로 $ab = L/G$를 구할 수 있습니다. $ab$의 약수 $d$에 대해, $d$와 $ab/d$가 서로소라면 $d \cdot G$와 $(ab/g) \cdot G$는 정답이 될 수 있습니다.
정답이 될 수 있는 모든 후보를 구한 뒤, 두 수의 차가 가장 작은 것을 출력해주면 됩니다. 이때 $d$는 $\sqrt(ab)$까지만 봐도 충분합니다.
전체 코드
1 |
|