The Way
백준 1009번: 분산처리 본문
백준 온라인 저지(BOJ) 1009번 문제
https://www.acmicpc.net/problem/1009
1. 문제 요약
1번~10번의 이름을 가진 컴퓨터로 차례대로 분산 처리를 할 때,
마지막 데이터가 처리되는 컴퓨터의 번호는?
2. 알고리즘
말은 복잡하지만, $a^b$의 일의 자리 수를 출력하는 문제이다.
시간을 단축시키는 방법은 여기를 참고하자.
0일 경우 10으로 출력해야 한다.
3. 코드
#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