The Way

백준 1009번: 분산처리 본문

PS/백준 온라인 저지

백준 1009번: 분산처리

Jeonggyun 2017. 10. 23. 00:19

백준 온라인 저지(BOJ) 1009번 문제

https://www.acmicpc.net/problem/1009



1. 문제 요약

1번~10번의 이름을 가진 컴퓨터로 차례대로 분산 처리를 할 때, 

마지막 데이터가 처리되는 컴퓨터의 번호는?



2. 알고리즘

말은 복잡하지만, ab의 일의 자리 수를 출력하는 문제이다.

시간을 단축시키는 방법은 여기를 참고하자.


0일 경우 10으로 출력해야 한다.



3. 코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include <iostream>
 
int pow(int base, int index, int mod = 10) {
    int r = 1;
    while (index != 0) {
        if (index & 1 != 0) r = (r * base) % mod;
        base = (base * base) % mod;
        index >>= 1;
    }
    return r;
}
 
int main() {
    int T;
    scanf("%d", &T);
     
    for (int i = 0; i < T; ++i) {
        int a, b;
        scanf("%d %d", &a, &b);
         
        int com = pow(a, b);
        if (com == 0) printf("10\n");
        else printf("%d\n", com);
    }  
     
    return 0;
}


'PS > 백준 온라인 저지' 카테고리의 다른 글

백준 11722번: 가장 긴 감소하는 부분 수열  (0) 2017.11.28
백준 11399번: ATM  (0) 2017.11.28
백준 2444번: 별찍기 - 7  (0) 2017.08.26
백준 2443번: 별찍기 - 6  (0) 2017.08.26
백준 2442번: 별찍기 - 5  (0) 2017.08.26
Comments