Algorithm

[백준] 브1 > 최소공배수 1934번 - JAVA

흰색기린 2024. 10. 19. 11:40
알고리즘 풀이 방법입니다.
문제(Problem) -> 생각(Think) -> 해결책(Solution) -> 리뷰(Review) 를 통해서 정리해서 작성합니다.
Problem📄

 

제목과 동일


Think🤔

 

최소공배수 문제했었음
최대공약수 gcd를 구한 후 
두 수의곱을 한다음 최대공약수로 나누면 그게 최소 공배수였음

gcd 최대공약수 구하는 방법

public static int gcd(int a, int b){
    if(a == 0){return b;}
    return gcd(a/b , a);
}

Solution✍

 

import java.io.IOException;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

class Main{
	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		int n = Integer.parseInt(br.readLine());
		
		for(int i=0; i<n; i++){
			String input = br.readLine();
			StringTokenizer st = new StringTokenizer(input," ");
			int a = Integer.parseInt(st.nextToken());
			int b = Integer.parseInt(st.nextToken());
			int gcdNum = gcd(a,b);
			System.out.println((a * b) / gcdNum);
		}
	}
	
	public static int gcd(int a,int b){
		if(b == 0){return a;}
		return gcd(b,a%b);
	}
}
% = 나머지

Review🤩

 

최소공배수 , 최대공약수는 외워야 함.