[백준/파이썬] 1009번 분산처리 풀이
업데이트:
문제 정보
- 문제 출처: 백준 온라인 저지
- 문제 링크: 1009번 분산처리
- 문제풀이 코드 GitHub 링크
- 제출 언어: Python 3
풀이
문제
a^b의 일의 자리 숫자 패턴을 이용해
마지막 데이터가 몇 번 컴퓨터인지 구하는 문제입니다.
일의 자리는 주기적으로 반복되므로, 큰 거듭제곱을 직접 계산할 필요가 없습니다.
코드
for T in range(int(input())):
a, b = map(int, input().split())
a%=10
al = [a]
i = 0
while True:
n = ((al[i]%10)*a)%10
if a == n:
break
al.append(n)
i+=1
r = al[(b-1)%len(al)]
print(r if r != 0 else 10)
설명
각 테스트케이스마다:
a % 10기준으로 일의 자리 순환 배열을 만들고b번째 항에 해당하는 값을 인덱스로 찾아 출력합니다.
결과가 0이면 10번 컴퓨터를 의미하므로 10을 출력합니다.
댓글남기기