본문 바로가기
BaekJoon/C++

1009 : 분산처리 (C++)

by GrayChoi 2021. 2. 4.
반응형

 

1009번: 분산처리

입력의 첫 줄에는 테스트 케이스의 개수 T가 주어진다. 그 다음 줄부터 각각의 테스트 케이스에 대해 정수 a와 b가 주어진다. (1 ≤ a < 100, 1 ≤ b < 1,000,000)

www.acmicpc.net


총 데이터의 갯수는 항상 a^b개의 형태로 주어지며

a의 범위는 1 <= a < 100 이고 b의 범위는 1 <= b < 1,000,000 이다.

즉 총 데이터의 갯수가 int의 범위를 넘어서는 것 뿐만이 아니라 엄청나게 커질 수 있다는 것에 포커스를 두어 문제를 해결하자.

 

#include<iostream>

using namespace std;

int main() {
    int test_case;

    cin >> test_case;

    for(int i = 0; i < test_case; i++) {
        int a, b;
        cin >> a >> b;

        int result = 1;

        for(int j = 0; j < b; j++) {
            result = (result * a) % 10;
        }

        if(result == 0) {
            result = 10;
        }
        
        cout << result << endl;
    }

    return 0;
}

 

일의 자리의 수에만 집중하여 나머지는 다 버리고 계속 일의 자리에만 수를 곱한다.

그리고 마지막에 나온 일의자리 값의 번호가 데이터가 처리되는 컴퓨터의 번호가 된다.

반응형

'BaekJoon > C++' 카테고리의 다른 글

4963 : 섬의 개수 (C++)  (0) 2021.02.04
1012 : 유기농 배추 (C++)  (0) 2021.02.04
10808 : 알파벳 개수 (C++)  (0) 2021.02.04
1743 : 음식물 피하기 (C++)  (0) 2021.02.04
2606 : 바이러스 (C++)  (0) 2021.02.03

댓글