반응형
[ Contents ]
1. 문제 (링크 참조)
2. 문제 풀이
10개의 컴퓨터에서 데이터를 분산처리합니다. a^b번째 데이터는 몇 번째 컴퓨터에서 처리하는지 구해야 합니다.
2022.01.19 - [Algorithm] - [Algorithm] 단골 1번 문제, 구현 / 수학
3. 코드
import sys
input = sys.stdin.readline
T = int(input())
for _ in range(T):
a, b = map(int, input().split()) #데이터의 개수는 a^b
print(a**b % 10)
단순히 나머지를 구하면 시간초과가 납니다....
그 대신 1의 자리를 거듭제곱했을 때, 나올 수 있는 패턴을 찾아야 합니다.
import sys
input = sys.stdin.readline
T = int(input())
for _ in range(T):
a, b = map(int, input().split()) #데이터의 개수는 a^b
a1 = a % 10
if a1 == 0: # 패턴 1개
print(10)
elif a1 in [1, 5, 6]:
print(a1)
elif a1 in [4, 9]: # 패턴 2개
b1 = b % 2
if b1 == 0:
print(a1 * a1 % 10)
else:
print(a1)
else: # 패턴 4개
b1 = b % 4
if b1 == 0:
print(a1 ** 4 % 10)
else:
print(a1 ** b1 % 10)
코드는 위와 같습니다.
패턴을 너무 잘 소개해주신 분이 계셔서 링크로 남깁니다.
https://uni2237.tistory.com/58
반응형
'Algorithm' 카테고리의 다른 글
[구현/수학] 백준 10214 Baseball - Python (0) | 2022.02.25 |
---|---|
[구현] 백준 13752 히스토그램 - Python (0) | 2022.02.25 |
[구현/수학] 백준 2566 최댓값 - Python (0) | 2022.02.25 |
[구현] 백준 24262 알고리즘 수업 - 알고리즘의 수행 시간 1 - Python (0) | 2022.02.25 |
[구현/수학] 백준 11282 한글 - Python (0) | 2022.02.25 |
댓글