백준 1009

야민·2023년 3월 18일
0

백준

목록 보기
5/8

1009번 "분산처리" 문제는 각각의 자릿수들이 주어진 수의 n승으로 계산된 결과를 모두 합하고, 그 합을 10으로 나눈 나머지를 구하는 문제입니다.
주어진 문제에서는 큰 수의 계산을 위해 분산처리를 사용하여 문제를 풀어야합니다. 입력으로 들어온 데이터의 수만큼 루프를 돌면서 주어진 수와 제곱수를 통해 계산하고, 이를 이전 결과값에 더해가면서 최종 계산값을 구합니다.
이 때, 제곱수를 계속 곱하다보면 int형 범위를 넘어설 가능성이 있으므로, 계산마다 10으로 나눈 나머지를 저장하여 범위를 유지해주는 것이 중요합니다.

#include <iostream>
#include <cmath>
using namespace std;
int main() {
    int t;
    cin >> t;
    while (t--) {
        int a, b;
        cin >> a >> b;
        int result = 1;
        for (int i = 0; i < b; i++) {
            result = (result * a) % 10;
        }
        if (result == 0) result = 10;
        cout << result << endl;
    }
    return 0;
}

0개의 댓글