JAVA - 백준 14490 백대열

문제

대열이는 욱제의 친구다.

“야 백대열을 약분하면 뭔지 알아?”
“??”
“십대일이야~ 하하!”
n:m이 주어진다. 욱제를 도와주자. (...)


입력

n과 m이 :을 사이에 두고 주어진다. (1 ≤ n, m ≤ 100,000,000)


출력

두 수를 최대한으로 약분하여 출력한다.


예제 입력 1 

100:10

예제 출력 1 

10:1

예제 입력 2 

18:24

예제 출력 2 

3:4

 

쉬운 문제!

욱제를 도와주자..

말 그대로 계속 약분하면 된다..

 

import java.util.Scanner;

public class Ex14490 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String n = sc.next();
        String[] num = n.split(":");
        int num1 = Integer.parseInt(num[0]);
        int num2 = Integer.parseInt(num[1]);
        int m = 2;
        while(m <num1 || m < num2){
            if (num1 % m != 0 || num2 % m != 0) {
                m++;
            } else {
                num1 = num1 / m;
                num2 = num2 / m;
            }
        }
        StringBuilder sb = new StringBuilder();
        sb.append(num1);
        sb.append(":");
        sb.append(num2);
        System.out.println(sb);
    }
}