반응형
SMALL
문제 정보
문제명 - 최대공약수와 최소 공배수
난이도 - 실버 V
문제 번호 - 2609번
문제 링크
문제
두 개의 자연수를 입력받아 최대 공약수와 최소 공배수를 출력하는 프로그램을 작성하시오.
입력
첫째 줄에는 두 개의 자연수가 주어진다. 이 둘은 10,000이하의 자연수이며 사이에 한 칸의 공백이 주어진다.
출력
첫째 줄에는 입력으로 주어진 두 수의 최대공약수를, 둘째 줄에는 입력으로 주어진 두 수의 최소 공배수를 출력한다.
예제 입력/출력
예제 입력 예제 출력 24 18 6
72
알고리즘 분류
● 수학
● 정수론
● 유클리드 호제법
소스코드
package Lv2_Silver;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
/**
* @author HanHoon
* @category 수학, 정수론, 유클리드 호제법
* https://www.acmicpc.net/problem/2609
*/
public class BOJ_S5_2609_최대공약수와_최소공배수 {
public static int getGCD(int A, int B) {
if(A%B == 0)
return B;
return getGCD(B, A%B);
}
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine(), " ");
StringBuilder str = new StringBuilder();
// 두개의 자연수
int A = Integer.parseInt(st.nextToken());
int B = Integer.parseInt(st.nextToken());
int gcd = getGCD(Math.max(A, B), Math.min(A, B));
str.append(gcd).append("\n");
str.append(A*B/gcd);
System.out.println(str);
br.close();
}
}
BaekJoon List
기회는 준비된 자에게 찾아온다.
반응형
LIST
'BaekJoon > Silver' 카테고리의 다른 글
[BOJ/JAVA] 백준 1003 : 피보나치 함수 (자바) (0) | 2022.05.08 |
---|---|
[BOJ/JAVA] 백준 8892 : 팰린드롬 (자바) (0) | 2022.05.04 |
[BOJ/JAVA] 백준 1929 : 소수 구하기 (자바) (0) | 2022.05.04 |
[BOJ/JAVA] 백준 1850 : 최대공약수 (자바) (0) | 2022.05.04 |
[BOJ/JAVA] 백준 1747 : 소수&팰린드롬 (자바) (0) | 2022.05.04 |
댓글