lmjing   4년 전

단순하게 구했더니 시간초과가 나와서

다른 방법으로 시도해봤습니다.

결과 % M = x 이고 결과 % N = y를 이용

즉, (i,j는 임의의 수) 결과 = M*i+x = N*j+y 라는 공식을 이용해서

i를 1씩 증가시키고 결과값이라는 가정으로 temp = M*i+x를 선언합니다. (어차피 마지막은 최소 공배수이기 때문에 최소공배수까지만 증가시킵니다.)

temp % N == y일 경우 해당 값이 결과 값이므로 프린트를 해주는데

1 1 1 1 / 2 2 2 2 / 10 12 10 12 처럼 

M == x && N == y 일 경우 -1이 뜨게 코딩되어 있어 이 경우 항상 값이 최소공배수이므로 최소 공배수를 리턴해주었습니다.


코드가 매우 더럽긴 하지만 이 두가지 방법이외에는 생각이 나지 않아서요 ㅠㅠ

다른 방법이나 아래 코드에서 틀린 점을 알려주세여 ㅠㅠ

 

댓글을 작성하려면 로그인해야 합니다.