![[자바] 최소 공배수(LCM) 구하는 방법](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FrxuV6%2FbtsL26fDjfQ%2FtpFk7qrXq4nmPk1LiiwX3K%2Fimg.png)
[자바] 최소 공배수(LCM) 구하는 방법코딩테스트2025. 1. 31. 10:45
Table of Contents
a*b <= 2,147,483,647 을 만족할 때 사용한 코드이다. 즉, int 타입의 범위를 벗어나지 않을 때 사용 가능하다.
static int lcm(int a, int b) {
return (a * b) / gcd(a, b);
}
static int gcd(int a, int b) {
if (b == 0) {
return a;
}
return gcd(b, a % b);
}
만약 a*b > 2,147,483,647 이라면 나눗셈을 먼저하고 곱셈을 하면 된다.
static int lcm(int a, int b) {
return (a / gcd(a, b)) * b;
}
static int gcd(int a, int b) {
if (b == 0) {
return a;
}
return gcd(b, a % b);
}