728x90
풀이 방법 1
두 수를 입력받아 두 수중 최대 최솟값을 구한다. 그래서 for문으로 1부터 최솟값까지 i로 나누어 둘 다 나머지가 0이 되는 것 중에 최댓값을 구한다. 이것이 최대공약수이다. 그리고 두 수를 곱하고 최대공약수로 나눈 것이 최소공배수가 된다.
사용 개념 1
최소 공배수 = 두 수 곱 / 최대 공약수
코드 1(유클리드 호제법 사용 X)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
StringBuilder sb = new StringBuilder();
int num1 = Integer.parseInt(st.nextToken());
int num2 = Integer.parseInt(st.nextToken());
int max_aliquot = Integer.MIN_VALUE;
int max = (num1 >= num2) ? num1 : num2;
int min = (num1 >= num2) ? num2 : num1;
for(int i = 1; i <= min; i++){
if(max % i == 0 && min % i == 0)
if(i > max_aliquot)
max_aliquot = i;
}
sb.append(max_aliquot + "\n");
int min_multiple = num1 * num2 / max_aliquot;
sb.append(min_multiple + "\n");
System.out.print(sb);
}
}
|
cs |
풀이 방법 2
두 수를 입력받아 두 수중 최대 최솟값을 구한다. 그래서 gcd메소드를 호출하고, gcd메소드는 유클리드 호제법을 사용하여 최대공약수를 구한다. 그리고 풀이 방법 1과 비슷하게 최소 공배수는 두 수 곱 / 최대공약수로 구한다.
사용 개념 1
유클리드 호제법
코드 1(유클리드 호제법 사용 O)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
StringBuilder sb = new StringBuilder();
int num1 = Integer.parseInt(st.nextToken());
int num2 = Integer.parseInt(st.nextToken());
int max = (num1 >= num2) ? num1 : num2;
int min = (num1 >= num2) ? num2 : num1;
int result1 = gcd(max,min);
int result2 = max * min / result1;
sb.append(result1 + "\n" + result2);
System.out.print(sb);
}
static int gcd(int max, int min){
while(min != 0){
int temp = max % min;
max = min;
min = temp;
}
return max;
}
}
|
cs |
728x90
'BOJ(Java)' 카테고리의 다른 글
자바(백준) 14889 스타트와 링크 (0) | 2021.04.29 |
---|---|
자바(백준) 9663 N-Queen (0) | 2021.04.27 |
자바(백준) 1929 소수 구하기 (0) | 2021.04.26 |
자바(백준) 1978 소수 찾기 (0) | 2021.04.26 |
자바(백준) 1037 약수 (0) | 2021.04.26 |