PS [13일차]

Daniel·2022년 7월 29일
0

PS

목록 보기
13/32
post-thumbnail

문제번호

2609

import java.util.*;

public class Main {

	public static void main(String[] args) {
		
		Scanner in = new Scanner(System.in);
		
		StringBuilder sb = new StringBuilder();
		
		// 입력값 1 
		int pre = in.nextInt();
		// 입력값 2
		int post = in.nextInt();
		
		// 결과값 1
		int div = 0;
		
		// 최대공약수
		for (int i = 1 ; i <= pre; i++) {
          // 값이 같은경우 pass
			if (pre == post) {
				div = pre;
				break;
			}
			if (pre % i == 0 && post % i == 0) {
				div = i;
			}
		}
		
		// 결과
		sb.append(div + "\n");
		
		// 최소 공배수
		for (int i = 1 ; ; i++) {
			if (pre * i % post == 0) {
				sb.append(pre * i + "\n");
				break;
			}
		}
		
		// 출력	
		System.out.println(sb);
	}

}

문제

두 수의 최대 공약수, 최소 공배수를 구하는 문제이다.

풀이

  • 최대 공약수와 최소 공배수의 개념을 알고 있어야 한다.
    • 최대 공약수 : 입력한 두수를 나누어 떨어지는 수중 가장 큼
    • 최대 공배수 : 입력한 두수로 나누어 떨어짐
profile
폐쇄

0개의 댓글