본문 바로가기

백준 문제풀기/JAVA

[백준 2609 JAVA 자바] 최대공약수와 최소공배수

 

두 자연수의

 

최대 공약수와 최소 공배수를 출력합시다

 

최대 공약수는

저의 블로그에서 그동안 여러번

유클리드 호제법을 이용한 방법을 썼는데

 

제가 이 문제를 풀었을 당시에는

완전 초보 정석으로 풀었었네요

 

코드입니다

 

import java.util.Scanner;

public class Main {
	public static void main(String args[]){
		Scanner scan = new Scanner(System.in);
		
		int a = scan.nextInt();
		int b = scan.nextInt();
		
		int min = a<b?a:b;	
		int cdgys = 1;
		
		for(int i=2; i<=min; i++) {
			if(a%i==0 && b%i==0) {
				cdgys = i;
			}
		}
		
		System.out.println(cdgys);
		System.out.println(a*b/cdgys);
	}
}

for 문을 이용해서 직접 나머지를 찾아

최대공약수를 찾았습니다