[C++] 백준 1009 : 분산처리
#include <iostream>
int main(int argc, char **argv){
int T, a, b, tmp = 1;
scanf("%d",&T);
for(int i=0; i<T; i++){
scanf("%d %d",&a,&b); // 1의 자리만 알면 된다.
// 그냥 pow 불가능, 범위 넘는다.
for(int j=0; j<b; j++){
tmp = (tmp * a) % 10;
}
if(tmp == 0){
printf("10\n"); // 나머지 0이면 10이다.
} else {
printf("%d\n",tmp);
}
tmp = 1; // 초기화
}
return 0;
}
오늘의 키포인트
- pow를 사용하면 숫자가 너무 기하급수적으로 커지기 때문에 사용하면 안된다.
- 우리가 필요한 것은 1의 자리 숫자일 뿐이다. 제곱해도 1의 자리수만 제곱해서 구해주면 된다.
- 10의 나머지를 구했기 때문에 만약 10으로 나눴을 때의 나머지가 0이면 이게 바로 10번째 컴퓨터에 할당이 되므로, 0이면 10을 출력하도록 해야한다.
Author And Source
이 문제에 관하여([C++] 백준 1009 : 분산처리), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@lamknh/C-백준-1009-분산처리저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)