자바/백준
백준 1009번 / 분산처리
모자
2021. 10. 10. 18:05
728x90
반응형
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc= new Scanner(System.in);
int num=sc.nextInt(); //테스트 케이스 개수를 입력 받는다.
for(int i=0; i<num ; i++) {
int result=1;
int a=sc.nextInt();
int b=sc.nextInt();
for(int j=0; j<b; j++) {
result=(result*a)%10;
//a를 b번 곱해준다. 숫자가 몹시 커지면 담을 수 없다.
1의자리 숫자만 있으면 컴퓨터의 번호를 출력할 수 있으므로 10으로 나눈 나머지를 result에 담는다.
}
if(result==0)
System.out.println(10);
else System.out.println(result);
//1의 자리에 따른 컴퓨터의 번호 출력
}
}
}
1009번 문제는 1번 데이터는 1번 컴퓨터, 2번 데이터는 2번 컴퓨터 .... 10번 컴퓨터는 10번 컴퓨터, 11번으로 가면 다시 돌아서 1번 컴퓨터의 번호가 출력된다.
즉, 1의 자리 숫자만 있으면 컴퓨터의 번호를 알 수 있다.
하지만 a의 b승이 숫자가 매우 커질 수 있으므로 %10으로 계속 계산해준다. (int와 long에도 담을 수 없다.)