알고리즘/수학

[백준 1934] - [수학] - 최소공배수 (JAVA)

팡스 2018. 12. 4. 01:30

문제 링크 : https://www.acmicpc.net/problem/1934




이 문제는 백준 2609문제를 먼저 풀었다면 문제 푸는데 걸리는 시간은 금방일 것이다. 


이번문제에 대한 설명 최소 공배수와 최대 공약수에 대한 설명은 백준 2609번 문제 링크와 풀이 링크로 대체하겠다.


백준 2609 문제 


2018/12/03 - [알고리즘/수학] - [백준 2609] - [수학 최소공배수 최대공약수] - 최대공약수와 최소공배수(JAVA)



소스

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
 
public class Main {
 
    public static void main(String[] args) throws IOException{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st = null;
        
        int testCase = Integer.parseInt(br.readLine());
        StringBuilder sb = new StringBuilder();
        
        while(testCase-- > 0) {
            st = new StringTokenizer(br.readLine());
            long num1 = Integer.parseInt(st.nextToken());
            long num2 = Integer.parseInt(st.nextToken());
            
            long gcd = getGCD(Math.max(num1, num2), Math.min(num1, num2));
            sb.append(num1*num2/gcd+ "\n");
        }
        System.out.println(sb.toString());
        br.close();
    }
 
    // 유클리드 호제법
    public static long getGCD(long a, long b) {
        while(b > 0) {
            long tmp = a;
            a = b;
            b = tmp%b;
        }
        return a;
    }
}
cs