본문 바로가기
Baekjoon

[백준] 1934번 - 최소공배수 - Java

by jinjin98 2022. 12. 15.

 

유클리드 호제법을 이용해서 풀었습니다.

유클리드 호제법으로 최대공약수 구한 후, A 와 B를 곱해준 값에 최대공약수를 나누면 최소공배수가 됩니다.

 

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

public class p1934 {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringBuffer sb = new StringBuffer();
        int N = Integer.parseInt(br.readLine());

        StringTokenizer st;
        for(int i=0; i<N; i++) {
            st = new StringTokenizer(br.readLine());

            int A = Integer.parseInt(st.nextToken());
            int B = Integer.parseInt(st.nextToken());

            int result = gcd(A, B);

            sb.append((A * B)/result).append("\n");
        }

        System.out.println(sb);
    }
    public static int gcd(int A, int B) {

        if(B == 0)
            return A;
        else
            return gcd(B, A%B);
    }
}

댓글