반응형
https://www.acmicpc.net/problem/2609
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.*;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer strToken = new StringTokenizer(br.readLine(), " ");
int a=Integer.parseInt(strToken.nextToken());
int b=Integer.parseInt(strToken.nextToken());
StringBuilder sb = new StringBuilder();
int gcd=gcd(a,b);
sb.append(gcd+"\n");
sb.append(lcm(a,b,gcd)+"\n");
System.out.println(sb);
}
//최대공약수를 구하는 알고리즘
static int gcd(int x, int y) {
if (y == 0) return x;
else return gcd(y, x % y);
}
//최소공배수를 구하는 알고리즘
static int lcm(int a, int b, int gcd) {
return a * b / gcd;
}
}
문제풀이 : 최대공약수를 유클리드호제법을 이용하여 구한 후
최소공배수를 이용하여 최소공배수를 구한다.
유클리드 호제법 알고리즘 보러가기 : https://roomconerdeveloper.tistory.com/23
최소공배수는 두 수를 곱한 후 최대공약수로 나누면 나온다.
반응형
'프로그래밍 > 알고리즘 풀이' 카테고리의 다른 글
[알고리즘] 백준2661번 좋은수열 자바 (0) | 2021.05.19 |
---|---|
[알고리즘] 백준 14889번 스타트와 링크 Java 자바 (0) | 2021.05.19 |
[알고리즘] 백준 1929번 소수 구하기 Java 자바 (0) | 2021.05.17 |
[알고리즘] 백준 1978번 소수찾기 Java 자바 (0) | 2021.05.16 |
[알고리즘] 백준 1037번 약수 Java 자바 (0) | 2021.05.14 |
댓글