정보처리기사 시험때 알고리즘 공부를 했는데 다 까먹었다. 유클리드 호제법으로 푼거 같은데 기억이 안난다...... 그래서 굉장히 비효율적인 알고리즘이라 보여진다. for문이 너무 많다.....

어쨌든 로직은 다음과 같다.

1. n과 m이 나누어질 때(서로 공약수 인 경우)는  작은수가 최대공약수, 큰수가 최소공배수이다.

2. 나누어 지지 않을 경우에는 일단 n과 m의 약수를 각각 구하고, 공약수를 찾은 다음 최대 공약수를 선택한다.

  이후 최소 공배수는 둘중 아무수나 최대 공약수로 나눈 다음 남은 아무 수중 안 나눈 수로 곱하면 최소 공배수가 된다.


BELATED ARTICLES

more