[백준] 분산처리 (1009)(kotlin)

문제 설명

백준 1009번 문제 링크 알고리즘 참고

입력 및 출력

» 입력

입력의 첫 줄에는 테스트 케이스의 개수 T가 주어진다. 그 다음 줄부터 각각의 테스트 케이스에 대해 정수 a와 b가 주어진다. (1 ≤ a < 100, 1 ≤ b < 1,000,000)

» 출력

각 테스트 케이스에 대해 마지막 데이터가 처리되는 컴퓨터의 번호를 출력한다.

예제 입출력

입력 출력
5
1 6
3 7
6 2
7 100
9 635
1
7
6
1
9

문제 풀이1

import java.util.Scanner

fun main(args: Array<String>) = with(Scanner(System.`in`)) {
    repeat(nextInt()) {
        val a = nextInt()
        val b = nextInt()
        var c = 0
        var ans = 1

        if (a % 10 == 0 || a % 10 == 1 || a % 10 == 5 || a % 10 == 6) ans = a % 10
        else if (a % 10 == 4 || a % 10 == 9) c = if (b % 2 == 0) 2 else b % 2
        else c = if (b % 4 == 0) 4 else b % 4

        for (i in 0 until c) ans = (ans * a) % 10

        if (ans == 0) ans = 10
        println(ans)
    }
}