[JAVA] 최대공약수와

문제 설명

두 숫자를 입력으로 받고 두 숫자의 최대 공약수와 최소 공배수를 반환하는 함수 솔루션을 완성하십시오. 배열의 시작 부분에 최대 공약수를 놓고 최소 공배수를 넣고 반환합니다.
예를 들어 솔루션(3, 12)은 두 숫자 3과 12의 최대 공약수가 3이고 최소 공배수가 12이기 때문에 (3, 12)를 반환해야 합니다.

(제한)
두 숫자 모두 1에서 1000000 사이의 자연수입니다.

(I/O의 예)

n    m    return
3    12    (3, 12)
2    5    (1, 10)

암호

public int() solution(int n, int m) {
        int() answer = new int(2);

        int mul = n * m;
        int min = 0;//(n>=m) ? n % m : m % n;

        while(true){
         min = (n>=m) ? n % m : m % n;

         if(min == 0) {
             break;
         }
         n = (n>=m) ? m : n;
         m = min;

         if(n == 1 || m==1){
             break;
         }
        }
        answer(0) = (n>=m) ? m : n;

        answer(1) = mul/answer(0);

        return answer;
    }

먼저 시간 초과 오류가 발생했습니다 ?? 하지만 최소 계산 공식은 야생 명령에 들어 가지 않았습니다 …

최소 공배수와 최대 공약수를 찾는 공식을 찾으십시오.
나눌 때 가장 큰 공약수는 가장 작은 수입니다.

최소 공배수는 최대 공약수와 최소 공배수의 곱과 같은 두 수의 곱입니다.