반응형
시간 제한 | 메모리 제한 | 제출 | 정답 | 맞은 사람 | 정답 비율 |
---|---|---|---|---|---|
1 초 | 128 MB | 38198 | 22733 | 18616 | 62.351% |
문제
두 개의 자연수를 입력받아 최대 공약수와 최소 공배수를 출력하는 프로그램을 작성하시오.
입력
첫째 줄에는 두 개의 자연수가 주어진다. 이 둘은 10,000이하의 자연수이며 사이에 한 칸의 공백이 주어진다.
출력
첫째 줄에는 입력으로 주어진 두 수의 최대공약수를, 둘째 줄에는 입력으로 주어진 두 수의 최소 공배수를 출력한다.
예제 입력 1
24 18
예제 출력 1
6
72
코드
import java.io.*;
import java.util.*;
public class p2609 {
static int a, b;
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
a = Integer.parseInt(st.nextToken());
b = Integer.parseInt(st.nextToken());
System.out.println(gcd(a, b));
System.out.println(lcm(a, b));
}
static int gcd(int p, int q) {
if (q == 0)
return p;
else
return gcd(q, p % q);
}
static int lcm(int m, int n) {
int bigger = 0;
bigger = (m > n) ? m : n;
while (true) {
if ((bigger % m == 0) && (bigger % n) == 0)
return bigger;
bigger++;
}
}
}
반응형
'알고리즘 > [ Baekjoon ]' 카테고리의 다른 글
[ BOJ ][JAVA][2632] 피자판매 (0) | 2021.04.24 |
---|---|
[ BOJ ][JAVA][2615] 오목 (2) | 2021.04.24 |
[ BOJ ][JAVA][2580] 스도쿠 (0) | 2021.04.24 |
[ BOJ ][JAVA][2579] 계단 오르기 (0) | 2021.04.24 |
[ BOJ ][JAVA][2578] 빙고 (0) | 2021.04.24 |