#include <iostream>
using namespace std;
int main()
{
int T;
int a;
int b;
int dataCount; // 데이터의 개수 (a^b)
// 테스트 케이스를 입력받는다.
cin >> T;
for (int i = 0; i<T; i++)
{
cin >> a >> b;
dataCount = 1;
//데이터 개수는 1부터 시작한다. 만약 b가 1일 경우, 연산없이 그대로 출력하면 된다.
for (int j=0; j<b; j++)
{
dataCount = (dataCount * a) % 10;
// 필요한 값은 나머지값인 일의 자리이다.
// 굳이 숫자의 범위를 늘리지 않고 매번 10으로 나눈 나머지를 구하면 된다.
}
if (dataCount == 0)
{
dataCount = 10;
// 마지막 값이 0인 경우, 10번째 컴퓨터이므로 값을 고쳐준다ㅏ.
}
cout << dataCount << endl;
}
}
제곱 연산을 정확하게 하자 !
결과값의 초기값을 1로 설정하고 for문을 통해 곱셈을 덧입힌다고 생각하자.
나머지연산의 결과가 문제와 엇나가는 일이 없는지 살펴보자 !
위의 코드의 if문이 없었다면, 10^10을 넣었을 때 0이 출력될 수도 있다.
그러나 문제에 0번째 컴퓨터는 없으며 사실상 10번째 컴퓨터와 같으므로 값을 변경해주자.