시간&메모리 제한
문제
입력&출력
문제 풀이
package com.jungol;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class jungol_1658 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
int N1 = Integer.parseInt(st.nextToken());
int N2 = Integer.parseInt(st.nextToken());
int gcd = get_gcd(N1,N2);
int lcm = gcd;
lcm = lcm * (N1/gcd);
lcm = lcm * (N2/gcd);
System.out.println(gcd);
System.out.println(lcm);
}
//유클리드 호제법
//GCD(A,B) = GCD(B,r)
private static int get_gcd(int n1, int n2) {
int r=0;
while(n2!=0) {
r = n1%n2;
n1 = n2;
n2 = r;
}
return n1;
}
}
- 최소 공배수와 최대 공약수를 구하는 문제입니다.
- 유클리드 호제법을 이용해서 구할 수 있습니다.
- get_gcd 함수가 유클리드 호제법을 이용하는 부분입니다.
'Algorithm > 정올 알고리즘' 카테고리의 다른 글
정올_1009 각 자리 수의 역과 합(자바) / 수학2 (0) | 2021.06.28 |
---|---|
정올_1002 최대공약수, 최소공배수(자바) / 수학1 (0) | 2021.06.27 |
정올_2809 약수(자바) / 수학1 (0) | 2021.06.25 |
정올_1402 약수 구하기(자바) / 수학1 (0) | 2021.06.24 |
정올_1071 약수와 배수(자바) / 수학1 (0) | 2021.06.23 |