알고리즘/백준(BOJ)

[백준/알고리즘] #1009: 분산처리 [파이썬(python)/수학]

https://www.acmicpc.net/problem/1009

 

1009번: 분산처리

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

www.acmicpc.net

#1009_분산처리
import sys
input = sys.stdin.readline
T = int(input())
A=[]
B=[]
for _ in range(T):
    a,b = map(int,input().split())
    A.append(a)
    B.append(b)

for i in range(T):
    one = A[i] % 10

    if one == 0:
        print(10)
    elif one in [1,5,6]:
        print(one)
    elif one in [4,9]:
        if B[i]%2 == 0:
            print(one ** 2 % 10)
        else:
            print(one)
    else:
        if B[i]%4==0:
            print(one ** 4 % 10)
        else:
            print(one ** (B[i] % 4) % 10)