본문 바로가기

알고리즘 기초1 Java

수학1_2609번 : 최대공약수와 최소공배수

728x90

 

유클리드 호제법을 이용하여 GCD(최대공약수)를 구한다.

구한 GCD를 이용하여 두수의 곱에 GCD를 나눠 최소 공배수를 구한다.

 

import java.io.*;
import java.util.StringTokenizer;

public class Main{
    public static void main(String[] args) throws IOException{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st = new StringTokenizer(br.readLine()," ");
        
        int a = Integer.parseInt(st.nextToken());
        int b = Integer.parseInt(st.nextToken());
        int d = gcd(a,b);
        
        System.out.println(d);
        System.out.println(a*b/d);
    }
    public static int gcd(int a, int b){
        while(b!=0){
            int c = a%b;
            a = b;
            b = c;
        }
        return a;
    }
}