분산처리
RANK of solved.ac: B3
Tags: #구현, #수학
문제 링크: https://www.acmicpc.net/problem/1009
문제 번호: 1009
<정답 코드>
#include <iostream>
using namespace std;
int main() {
int T;
cin >> T;
for (int tc = 0; tc < T; tc++) {
int a, b;
scanf("%d %d", &a, &b);
int digit_one_num=1;
while (b--) {
digit_one_num = (digit_one_num*a) % 10;
}
cout << (digit_one_num == 0 ? 10 : digit_one_num) << endl;
}
return 0;
}
<문제 해결 전략>
- 1의 자리만 보면 된다. 2^9 =512 에서 510등까지는 1~10컴퓨터를 51번 채운거다. 그러므로 남는 2가 실제로 512번이 앉는 컴퓨터 자리이다.
- 10번과 같은 경우 나머지가 0이 되는데 이럴 경우에만 출력을 10으로 해주면 된다.
'알고리즘 > 문제풀이(BOJ,프로그래머스,삼성익스퍼트아카데미)' 카테고리의 다른 글
BOJ 11024 더하기 4 (0) | 2020.10.15 |
---|---|
BOJ 14442 벽 부수고 이동하기 2 (0) | 2020.10.09 |