백준 문제 풀이/백준 (JAVA)
JAVA 백준 1934 최소공배수 (약수, 배수와 소수 2)
gamja00
2024. 7. 2. 00:18
https://www.acmicpc.net/problem/1934
문제
- 첫째 줄에 테스트 케이스의 개수 (1 <= T <= 1000)입력.
- 둘째 줄부터 T개의 줄에 걸쳐 A와 B가 주어짐 (1 <= A, B <= 45000).
- A와 B의 최소공배수를 입력받은 순서대로 한 줄에 하나씩 출력.
유클리드 호제법으로 최대공약수를 구한 후 두 수를 곱해 최대공약수로 나누면 최대공배수가 나온다.
완성 코드
import java.util.Scanner;
public class Main {
public static int gcd(int a, int b) { //유클리드호제법
while (b != 0) {
int r = a % b;
a = b;
b = r;
}
return a;
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int a, b, result;
for (int i = 0; i < n; i++) {
a = sc.nextInt();
b = sc.nextInt();
result = a * b / gcd(a, b);
System.out.println(result);
}
}
}
bufferedStream을 쓰고 싶었는데 readline은 한 줄씩 받으니까 띄어쓰기 단위로 받는 방법을 모르겠어서 일단 스캐너를 썼다...
띄어쓰기 단위로 받는 방법을 찾아야겠다.