[Algorithm] 백준 1009번 (파이썬) : 분산처리

Hyuk·2023년 2월 23일
0

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)
profile
프론트엔드 개발자

0개의 댓글