응애개발자
article thumbnail
728x90

1. 문제

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

 

2. 접근 방법

1. 최대공약수는 유클리드 호제법으로 구합니다.

2. 최소공배수는 N * M / (최대공약수) 로 구할수 있습니다. 

 

3. 코드

<java />
import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { private static BufferedReader br; private static StringTokenizer st; private static StringBuilder sb; private static int N,M; public static void input() throws Exception { br = new BufferedReader(new InputStreamReader(System.in)); st = new StringTokenizer(br.readLine()); sb = new StringBuilder(); N = Integer.parseInt(st.nextToken()); M = Integer.parseInt(st.nextToken()); } public static void process(){ //유클리드 호제법(최대공약수) int temp = 0; int n = N; int m = M; while(n%m != 0) { temp = n%m; n = m; m = temp; } //최대공약수 sb.append(m).append("\n"); //최소공배수 sb.append(N*M/m); System.out.println(sb); } public static void main(String[] args) throws Exception{ input(); process(); } }
profile

응애개발자

@Eungae-D

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!