Computer/Algorithm

Daily Algorithm - 백대열

kentakang 2018. 2. 1. 14:50
반응형

문제

대열이는 욱제의 친구다.

  • “야 백대열을 약분하면 뭔지 알아?”
  • “??”
  • “십대일이야~ 하하!”

n:m이 주어진다. 욱제를 도와주자. (...)

입력

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

출력

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

예제 입력

100:10

예제 출력

10:1

풀이

package boj14490;

import java.io.*;
import java.util.*;

public class Main {
    static int GCD(int num1, int num2) {
        if (num2 == 0) return num1;
        return GCD(num2, num1 % num2);
    }

    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st = new StringTokenizer(br.readLine(), ":");
        int num1 = Integer.parseInt(st.nextToken());
        int num2 = Integer.parseInt(st.nextToken());
        int gcd = GCD(num1, num2);

        System.out.println(num1 / gcd + ":" + num2 / gcd);
    }
}



문제 출처 : https://www.acmicpc.net/problem/14490



반응형