https://www.acmicpc.net/problem/1009
a, b를 입력받고 맨 끝자리의 숫자에 따라 값을 주어지게 했다.
시간 초과가 뜨면서 답이 틀렸다.
T = int(input())
for i in range(T):
a, b = map(int, input().split())
tmp = a ** b
tmp = str(tmp)
if tmp[-1] == 0:
print(10)
else:
print(tmp[-1])
제곱의 끝자리에는 규칙이 있다.
예를 들어, 6의 어떤 수를 제곱을 해도 끝자리는 6으로 끝날것이다.
b가 아무리 높아도 4번안에 끝나는 문제이다. 다음은 전체 코드이다.
T = int(input())
for _ in range(T):
a, b = map(int, input().split())
b = b % 4 # b가 아무리 높아도 4번안에 끝남. 4로 나눈 나머지값으로 설정
if b % 4 == 0: # 만약 b가 4의 배수라면 b=4로 해준다.
b = 4
tmp = a ** b
if tmp % 10 == 0:
print(10)
else:
print(tmp % 10)