티스토리 뷰

코테

[백준 13241] 최소공배수 JAVA

오은이 2024. 1. 25. 22:57

 

 

 


 

 

 

첫 번째 정수 a는 b보다 작아야 한다.

a가 1이라면 그냥 a와 b를 곱하면 된다.

 

b가 a로 나누어 떨어진다면 그냥 b가 최소공배수이다.

 

그것이 아니라면, 작업을 수행해야 한다.

d를 for문의 i처럼 활용하였다. 정수 b에 d를 곱해보면서, a와 나누어 떨어지는 수를 찾는 것이다.

for문 보다는 while문을 사용하기에 적절하다. 무한루프 while문에서 최소공배수 c를 찾으면 탈출하게 된다.

 

 

public class Main {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		
		int a = 0;	//첫 번째 정수
		long b = 0;	//두 번째 정수
		long c = 0;	//최소공배수
		int d = 2;	//i 역할
		
		a = sc.nextInt();
		b = sc.nextLong();
		
		if(a == 1) {
			System.out.println(a*b);
		}
		else if(b % a == 0){
			System.out.println(b);
		}
		else {
			while(true) {
				c = b * d;
				if(c % a ==0) {
					System.out.println(c);
					break;
				}
				d++;
			}
		}
	}
}

 

 

 

이 문제의 변형으로 1934번:최소공배수가 있다. 이 문제를 먼저 풀고 1934번에 도전하는 것을 추천한다.

 

'코테' 카테고리의 다른 글

[백준 10809] 알파벳 찾기 JAVA  (0) 2024.10.29
[백준 2588] 곱셈, [2908] 상수 JAVA  (1) 2024.01.29
[백준 3052] 나머지 JAVA  (0) 2024.01.23
[백준 10815] 숫자 카드 JAVA  (0) 2024.01.12
[백준 9012] 괄호 JAVA  (0) 2024.01.07
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/07   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
글 보관함