Algorithm/noj.am

[Python] 백준 1009번 - 분산처리

SweetDev 2021. 7. 7. 16:27
import sys

T = int(sys.stdin.readline())
for i in range(T):
    A, B = map(int, sys.stdin.readline().split())
    # B를 2의 제곱으로 분리하기
    binaryArrayForB = list(map(int, list(bin(B)[2:])))
    binaryArrayForB.reverse()
    
    modularArrayForB = [0] * len(binaryArrayForB)

    # modular array 만들기
    modularArrayForB[0] = A % 10
    for j in range(1, len(binaryArrayForB)):
        modularArrayForB[j] = (modularArrayForB[j-1] ** 2) % 10
    # print(modularArrayForB)

    # 값 구하기
    val = 1
    for k in range(0, len(binaryArrayForB)):
        if binaryArrayForB[k] == 1:
            val *= modularArrayForB[k]

    print(val % 10)