코테/백준
[백준/JAVA] 2609번: 최대공약수와 최소공배수
imname1am
2023. 5. 19. 16:34
반응형
🔺 문제
2609번: 최대공약수와 최소공배수
첫째 줄에는 입력으로 주어진 두 수의 최대공약수를, 둘째 줄에는 입력으로 주어진 두 수의 최소 공배수를 출력한다.
www.acmicpc.net
🔺 코드
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.util.*;
import java.io.*;
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()," ");
int n = Integer.parseInt(st.nextToken());
int m = Integer.parseInt(st.nextToken());
System.out.println(GCD(n, m));
System.out.println((n*m)/GCD(n, m));
}
static int GCD(int a, int b) {
int gcd = 0;
int max = 1;
for(int i = 2 ; i <= Math.min(a, b) ; i++) {
if(a % i == 0 && b % i == 0) {
max = Math.max(max, i);
}
}
return max;
}
}
|
cs |
🔺 다른 풀이들
- 아 유클리드 호제법 써서 이렇게 풀어야 하는디...
[백준] 2609번 : 최대공약수와 최소공배수 - JAVA [자바]
www.acmicpc.net/problem/2609 2609번: 최대공약수와 최소공배수 첫째 줄에는 입력으로 주어진 두 수의 최대공약수를, 둘째 줄에는 입력으로 주어진 두 수의 최소 공배수를 출력한다. www.acmicpc.net 문제 알
st-lab.tistory.com
public static int gcd(int a, int b) {
if(b == 0) return a;
return gcd(b, a % b);
}
💬 느낀 점
아 유클리드 호제법 써서 이렇게 풀어야 하는디...
그냥 반복문 써서 얼레벌레 풀어버렸다...
담부턴 유클리드 호제법 재귀함수 형태로 꼭 푸는 걸로...
1회독 | 2회독 | 3회독 | 4회독 | 5회독 |
V |
반응형