[백준] 배수와 약수 (5086)(kotlin)

문제 설명

백준 5086번 문제 링크

입력 및 출력

» 입력

입력은 여러 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 10,000이 넘지않는 두 자연수로 이루어져 있다. 마지막 줄에는 0이 2개 주어진다. 두 수가 같은 경우는 없다.

» 출력

각 테스트 케이스마다 첫 번째 숫자가 두 번째 숫자의 약수라면 factor를, 배수라면 multiple을, 둘 다 아니라면 neither를 출력한다.

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

입력 출력
8 16
32 4
17 5
0 0
factor
multiple
neither

문제 풀이1

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

fun main(args: Array<String>) = with(BufferedReader(InputStreamReader(System.`in`))) {
    while (true) {
        val (a, b) = readLine().split(" ").map { it.toInt() }
        if (a == 0) break

        println(
            disting(a, b)
        )
    }
}

fun disting(a: Int, b: Int): String {
    return if (a > b) {
        if (a % b == 0) "multiple"
        else "neither"
    } else {
        if (b % a == 0) "factor"
        else "neither"
    }
}