백준 1009번 분산처리(C언어)

최정우·2022년 7월 7일
0

백준 문제풀이

목록 보기
20/26

Code

#include <stdio.h>

int main()
{
	int T,a,b;
	int res = 1, ans = 0;

	scanf_s("%d", &T);
	for (int i = 0; i < T; i++)
	{
		scanf_s("%d %d", &a, &b);

		for (int j = 0; j < b; j++)
		{
			res *= a;
			res %= 10;
		}
		if (res == 0)
		{
			res = 10;
		}
		printf("%d\n", res);
		res = 1;
	}
	return 0;
}

Key Points

  1. 제곱을 모두 해준 후 마지막에 10으로 나누면 숫자가 매우 클 경우 값이 제대로 안나옴
  2. 답을 구할때 일의자리 수만 알면 되기 때문에 케이스 개수에 따라 for문을 돌릴때마다 10씩 나눠주면 결과값이 커질 일이 없기때문에 문제를 맞출 수 있음
profile
WHEN LIFE GIVES YOU LEMONS, MAKE LEMONADE

0개의 댓글