https://www.acmicpc.net/problem/1009
1009번: 분산처리
입력의 첫 줄에는 테스트 케이스의 개수 T가 주어진다. 그 다음 줄부터 각각의 테스트 케이스에 대해 정수 a와 b가 주어진다. (1 ≤ a < 100, 1 ≤ b < 1,000,000)
www.acmicpc.net
문제
재용이는 최신 컴퓨터 10대를 가지고 있다.
어느 날 재용이는 많은 데이터를 처리해야 될 일이 생겨서 각 컴퓨터에 1번부터 10번까지의 번호를 부여하고,
10대의 컴퓨터가 다음과 같은 방법으로 데이터들을 처리하기로 하였다.
1번 데이터는 1번 컴퓨터, 2번 데이터는 2번 컴퓨터, 3번 데이터는 3번 컴퓨터, ... ,
10번 데이터는 10번 컴퓨터, 11번 데이터는 1번 컴퓨터, 12번 데이터는 2번 컴퓨터, ...
총 데이터의 개수는 항상 ab개의 형태로 주어진다.
재용이는 문득 마지막 데이터가 처리될 컴퓨터의 번호가 궁금해졌다. 이를 수행해주는 프로그램을 작성하라.
입력
입력의 첫 줄에는 테스트 케이스의 개수 T가 주어진다.
그 다음 줄부터 각각의 테스트 케이스에 대해 정수 a와 b가 주어진다. (1 ≤ a < 100, 1 ≤ b < 1,000,000)
출력
각 테스트 케이스에 대해 마지막 데이터가 처리되는 컴퓨터의 번호를 출력한다.
코드
컴퓨터가 10대이므로 각 수를 승수만큼 곱해서 10으로 나눈 것의 1의 자리만 출력
T = int(input())
for _ in range(T):
a, b = map(int, input().split())
a = a % 10
if a == 0:
print(10)
elif a == 1 or a == 5 or a == 6:
print(a)
elif a == 4 or a == 9:
b = b % 2
if b == 1:
print(a)
else:
print((a * a) % 10)
else:
b = b % 4
if b == 0:
print((a**4) % 10 % 10 % 10)
else:
print((a**b) % 10 % 10 % 10)
참고
https://claude-u.tistory.com/248
'Algorithm > 백준' 카테고리의 다른 글
[Algorithm][파이썬] 백준 1298번: 노트북의 주인을 찾아서 (0) | 2023.05.30 |
---|---|
[Algorithm][C언어] 백준 2606번: 바이러스 (0) | 2023.05.23 |
[Algorithm][파이썬] 백준 9012번: 괄호 (0) | 2023.05.23 |
[Algorithm][파이썬] 백준 2446번: 별 찍기 - 9 (0) | 2023.05.16 |
[Algorithm][파이썬] 백준 10773번: 제로 (0) | 2023.05.16 |