[Baekjoon] 13241번: 최소공배수
2023. 4. 13. 20:12ㆍComputer Sciences/Problem Solve
https://www.acmicpc.net/problem/13241
문제 설명
주어진 두 수의 최소공배수를 출력해야 한다. 입력값 범위를 고려해 long을 사용해야 한다.
풀이 방법
두 수의 최소공배수는 (두 수의 곱) / 최대공약수로 해결할 수 있다. 최대공약수는 유클리드 호제법을 활용하여 간단하게 구현할 수 있다.
import java.io.*;
class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String[] split = br.readLine().split(" ");
long a = Long.parseLong(split[0]);
long b = Long.parseLong(split[1]);
System.out.println(a > b ? (a * b) / gcd(a, b) : (a * b) / gcd(b, a));
}
private static long gcd(long a, long b) {
long r = a % b;
if (r == 0)
return b;
return gcd(b, r);
}
}
'Computer Sciences > Problem Solve' 카테고리의 다른 글
[Baekjoon] 2252번: 줄 세우기 (0) | 2023.04.15 |
---|---|
[Baekjoon] 9375번: 패션왕 신해빈 (0) | 2023.04.14 |
[Baekjoon] 1963번: 소수 경로 (0) | 2023.04.12 |
[Baekjoon] 1484번: 다이어트 (0) | 2023.04.11 |
[Baekjoon] 14503번: 로봇 청소기 (0) | 2023.04.10 |