알고리즘/백준 문제[추후 옮길예정]
[JAVA] 백준 1934번
컴던
2021. 5. 15. 04:19
반응형
1934번
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int T = Integer.parseInt(br.readLine());
for (int i = 0; i < T; i++) {
String[] inputs = br.readLine().split(" ");
int A = Integer.parseInt(inputs[0]);
int B = Integer.parseInt(inputs[1]);
int gcd = euclid(A, B); // 유클리오드 호제법으로 구한 최대공약수
bw.write(String.valueOf(A * B / gcd));
bw.newLine();
}
bw.flush();
bw.close();
}
private static int euclid(int a, int b) {
if (a % b == 0) { // 최대 공약수를 구한경우
return b;
} else {
int newA = a % b;
return euclid(b, newA);
}
}
}
정답을 맞춘 풀이방법
1 . 유클리오드 호제법을 사용해 최대공약수(gcd)를 먼저 구함
2. 기존의 수와 최대공약수를 계산하여 최소공보수를 입력후 출력함
반응형