Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
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 27 28 29 30 31
Archives
Today
Total
관리 메뉴

스테코더

#2609 최대공약수와 최소공배수 본문

Algorithm/BOJ

#2609 최대공약수와 최소공배수

print("스테코더") 2022. 11. 12. 20:02

최대공약수와 최소공배수

2609

문제 풀이 전략

  1. 두 수 (n1, n2)를 입력 받음
  2. n1의 약수 중 큰 것부터 n2로 나누어지는 것을 찾음 → 가장 먼저 n2로 나눠지는 n1의 약수가 최대공약수
  3. n1, n2 중 큰 수의 배수 중 작은 값부터 n1, n2 중 작은 값으로 나누었을 때 나머지가 0인 수를 찾음 → 최소공배수

코드

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

public class no_2609 {
    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 multiple = 1; int factor = 0;

        for (int i = n1; i > 0; i--) {
            if (n1 % i == 0) {
                if (n2 % i == 0) {
                    factor = i;
                    break;
                }
            }
        }

        int large = Math.max(n1, n2);
        int small = Math.min(n1, n2);

        for (int i = 1; multiple < n1 * n2; i++) {
            multiple = large * i;
            if (multiple % small == 0) {
                break;
            }
        }

        System.out.println(factor);
        System.out.println(multiple);

        br.close();
    }
}

'Algorithm > BOJ' 카테고리의 다른 글

#10818 최소, 최대  (0) 2022.11.15
#2501 약수 구하기  (0) 2022.11.15
#1312 소수  (0) 2022.11.06
#1292 쉽게 푸는 문제  (0) 2022.11.06
#1978 소수 찾기  (0) 2022.11.06
Comments