문제: https://www.acmicpc.net/problem/13241
1. 코드
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
long a = sc.nextLong();
long b = sc.nextLong();
long c = gcd(Math.max(a, b), Math.min(a, b));
System.out.println(a * b / c);
}
private static long gcd(long a, long b) {
if(b == 0) return a;
return gcd(b, a % b);
}
}
2. 설명
유클리드 호제법을 이용하여 문제를 해결해야만 한다. 그 이외의 방법은 소용이 없었다.
3. 정리
https://ko.wikipedia.org/wiki/%EC%9C%A0%ED%81%B4%EB%A6%AC%EB%93%9C_%ED%98%B8%EC%A0%9C%EB%B2%95
https://namu.wiki/w/%EC%9C%A0%ED%81%B4%EB%A6%AC%EB%93%9C%20%ED%98%B8%EC%A0%9C%EB%B2%95
'컴퓨터 > 백준 알고리즘' 카테고리의 다른 글
백준 알고리즘 - 2485번: 가로수 [Java] (0) | 2023.09.21 |
---|---|
백준 알고리즘 - 1735번: 분수 합 [Java] (0) | 2023.09.20 |
백준 알고리즘 - 11478번: 서로 다른 부분 문자열의 개수 [Java] (0) | 2023.09.17 |
백준 알고리즘 - 1764번: 듣보잡 [Java] (0) | 2023.09.16 |
백준 알고리즘 - 1269번: 대칭 차집합 [Java] (0) | 2023.09.15 |