취미처럼

[백준] 2609번 최대공약수와 최소공배수 본문

Algorithm/백준

[백준] 2609번 최대공약수와 최소공배수

sirius 2021. 2. 25. 10:13
https://www.acmicpc.net/problem/2609
 

2609번: 최대공약수와 최소공배수

첫째 줄에는 입력으로 주어진 두 수의 최대공약수를, 둘째 줄에는 입력으로 주어진 두 수의 최소 공배수를 출력한다.

www.acmicpc.net

 

최대공약수는 유클리드 호제법으로 구현

두 수 a, b가 있을 때 나머지가 0이 될때까지 재귀함수로 구현

나머지가 0일 때 그 수가 최대공약수

최소 공배수 : a * b / a, b의 최대공약수

 

import java.util.*;


public class Main {

	public static void main(String[] args) throws Exception {

        Scanner sc = new Scanner(System.in);
        int a = sc.nextInt();
        int b = sc.nextInt();

        int ans = gcd(a, b);
        int lcm = a * b / ans; 
        
        System.out.println(ans);
        System.out.println(lcm);
    }

    // 최대공약수를 구하기 위한 유클리드 호제법
    private static int gcd(int a, int b) {
        if(a % b == 0) {
          return b;
        } else {
          return gcd(b, a % b);
        }
    }
}

'Algorithm > 백준' 카테고리의 다른 글

[백준] 1929번 소수 구하기  (0) 2021.02.25
[백준] 1978번 소수 찾기  (0) 2021.02.25
[백준] 17425번 약수의 합  (0) 2021.02.25
[백준] 17427번 약수의 합 2  (0) 2021.02.25
[백준] 1037번 약수  (0) 2021.02.08
Comments