본문 바로가기

코딩테스트/백준

[백준-자바] 2609번 최대공약수와 최소공배수 / 2022.02.17

https://www.acmicpc.net/problem/2609

 

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

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

www.acmicpc.net

 

 

import java.util.Scanner;

public class Main {
    public static void main(String args[]){
    	Scanner sc = new Scanner(System.in);
    	int num1 = sc.nextInt();
    	int num2 = sc.nextInt();
    	int yacksu = num1>num2?num2:num1;
    	
		int answer = 0; // 최대공약수 구하기
		for(int i=1; i<=yacksu; i++) {
			if(num1%i==0 && num2%i==0) {
				answer = i;
			}
		}
		System.out.println(answer);
		
		int baesu = num1>num2?num1:num2; // 최소공배수 구하기
		
		while(true) {
			if(baesu%num1==0 && baesu%num2==0) {
				System.out.print(baesu);
				return;
			}
			baesu+=num1>num2?num1:num2;
		}   	
    }
}