ν•΄λ²„λ‹ˆ 2023. 12. 3. 10:55
λ°˜μ‘ν˜•

 

 

 

문제

https://www.acmicpc.net/problem/5347

 

5347번: LCM

첫째 쀄에 ν…ŒμŠ€νŠΈ μΌ€μ΄μŠ€μ˜ 개수 n이 주어진닀. λ‹€μŒ n개 μ€„μ—λŠ” a와 bκ°€ 주어진닀. a와 bμ‚¬μ΄μ—λŠ” 곡백이 ν•˜λ‚˜ 이상 μžˆλ‹€. 두 μˆ˜λŠ” λ°±λ§Œλ³΄λ‹€ μž‘κ±°λ‚˜ 같은 μžμ—°μˆ˜μ΄λ‹€.

www.acmicpc.net

 

 

 

 

 

 

 

 

 

 

 

 

풀이

λ²”μœ„ 체크λ₯Ό μ•ˆ ν•΄μ„œ ν‹€λ Έλ‹€ ν—Ώ

a와 b에 큰 값을 λ„£μœΌλ©΄ μ˜€λ²„ν”Œλ‘œμš°κ°€ λ°œμƒν•΄ μŒμˆ˜κ°€ 좜λ ₯λœλ‹€. 

 

μ΅œμ†Œκ³΅λ°°μˆ˜λ₯Ό κ΅¬ν•˜λŠ”λ° a와 bλ₯Ό κ³±ν•΄μ•Όν•˜λŠ”λ° int λ²”μœ„λ₯Ό λ²—μ–΄λ‚˜κΈ° λ•Œλ¬Έμ΄λ‹€ 

κ·Έλž˜μ„œ λ²”μœ„ μˆ˜μ •μ„ 해쀬닀. 

 

 

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

public class Main {
    public int gcd(int a, int b) {
        int c;

        while (b != 0) {
            c = b;
            b = a % b;
            a = c;
        }
        return a;
    }

    public static void main(String[] args) throws IOException {
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        int num = Integer.parseInt(br.readLine());
        Main m = new Main();

        for (int i = 0; i < num; i++) {
            StringTokenizer st = new StringTokenizer(br.readLine());
            int a = Integer.parseInt(st.nextToken());
            int b = Integer.parseInt(st.nextToken());

            int answer = m.gcd(a, b);
            bw.write(String.valueOf((long)a * (long)b / answer) + "\n");
        }

        bw.flush();
        bw.close();
    }
}

 

 

 

 

 

 

 

 

 

 

μ •λ‹΅ 

 

 

 

 

 

 

λ°˜μ‘ν˜•