728x90
유클리드 호제법 이용
a와 b의 최소공배수
if (a<b)면 서로 교체 (val1가 큰 값, val2가 작은 값)
r이 0이 될때까지 r=val1%val2
val1=val2;
val2=r;
LCM = ( a * b ) / val1;
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 32 33 | import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int T = sc.nextInt(); for(int i=0; i<T; i++) { int a= sc.nextInt(); int b= sc.nextInt(); int temp; int r, val1, val2; if(a<b) { val1=b; val2=a; } else { val1=a; val2=b; } do { r = val1%val2; val1 = val2; val2 = r; }while(r>0); System.out.println(a*b/val1); } } } |
'알고리즘 풀이 > 백준' 카테고리의 다른 글
[백준][Java] 2455번 지능형 기차 (0) | 2018.05.10 |
---|---|
[백준][Java] 10797번 10부제 (0) | 2018.05.10 |
[백준][Java] 10828번 스택 (0) | 2018.05.06 |
[백준][Java] 11066번 파일 합치기 (0) | 2018.05.03 |
[백준][Java] 2108번 통계학 (0) | 2018.05.03 |