[백준] 다음수 (4880)(kotlin)

문제 설명

백준 4880번 문제 링크

입력 및 출력

» 입력

  • 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 수열의 연속하는 세 정수 a1, a2, a3이 한 줄에 주어진다. (-10,000 < a1, a2, a3 < 10,000) a1, a2, a3은 서로 같지 않다. 입력의 마지막 줄에는 0이 세 개 주어진다.

» 출력

각 테스트 케이스에 대해서, 등차수열이면 AP를, 등비수열이면 GP를 출력한 뒤, 다음 항을 출력한다. 모든 입력은 항상 등차수열이나 등비수열이다.

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

입력 출력
4 7 10
2 6 18
0 0 0
AP 13
GP 54

문제 풀이1

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

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

        if (b - a == c - b) {
            println("AP ${c + (c - b)}")
        } else {
            println("GP ${c * (c / b)}")
        }
    }
}