최소 공배수는
두 수의 배수중 가장 작은 수 입니다
수학적으로 보면
두수의 곱 나누기 최대공약수 입니다
최대 공약수는
두 수의 약수중 가장 큰 수 입니다
약수를 알기 위해선 소수로 나눠봐야합니다
코드입니다
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String line = br.readLine();
StringTokenizer st = new StringTokenizer(line);
long a = Long.parseLong(st.nextToken());
long b = Long.parseLong(st.nextToken());
System.out.println(a*b/gcd(a,b));
}
static long gcd(long a, long b) {
while (b != 0) {
long r = a%b;
a=b;
b=r;
}
return a;
}
}
최대 공약수를 구하는 gcd 함수를 구현하여서
두 수의 곱에 나눴습니다
'백준 문제풀기 > JAVA' 카테고리의 다른 글
[백준 13909 JAVA 자바] 창문 닫기 (0) | 2023.08.26 |
---|---|
[백준 13458 JAVA 자바] 시험 감독 (0) | 2023.08.26 |
[백준 11866 JAVA 자바] 요세푸스 문제 0 (0) | 2023.08.26 |
[백준 11758 JAVA 자바] CCW (0) | 2023.08.25 |
[백준 11720 JAVA 자바] 숫자의 합 (0) | 2023.08.25 |