[백준] 분수찾기 (1193)(kotlin)

문제 설명

백준 1193번 문제 링크

입력 및 출력

» 입력

첫째 줄에 X(1 ≤ X ≤ 10,000,000)가 주어진다.

» 출력

첫째 줄에 분수를 출력한다.

예제 입출력(테스트케이스)

입력 출력
14 2/4

문제 풀이1

import java.io.BufferedReader
import java.io.InputStreamReader

fun main(args: Array<String>) = with(BufferedReader(InputStreamReader(System.`in`))) {
    val x = readLine().toInt()
    var sum = 0

    for (i in 1 until 10_000_000) {
        if (x in sum + 1..(sum + i)) {
            if (i % 2 == 0) {
                println("${i - (sum + i - x)}/${1 + (sum + i - x)}")
                break
            } else {
                println("${1 + (sum + i - x)}/${i - (sum + i - x)}")
                break
            }
        } else {
            sum += i
        }
    }
}