본문 바로가기

백준 문제풀기/JAVA

[백준 1009 JAVA 자바] 분산처리

 

문제를 읽어보면

a^b의 일의자리숫자가 뭔지 찾기 같네요

 

1. a를 b번 곱합니다

2. 일의 자리 숫자를 찾습니다

3. 0인경우 10을 출력합시다

 

코드입니다

 

import java.util.Scanner;

public class Main {    
    public static void main(String[] args){
        Scanner scan = new Scanner(System.in);
        StringBuilder sb = new StringBuilder();
        
        int n = scan.nextInt();
        
        for(int i=0; i<n; i++) {
        	int a = scan.nextInt()%10;
        	int b = scan.nextInt();
        	
        	int t = a;
        	
        	for(int j=1; j<b; j++) {
        		t *= a;
        		t = t%10;
        	}
        	
        	if(t==0) {
        		t = 10;
        	}
        	
        	sb.append(t + "\n");
        }
        System.out.println(sb);
    }
}

 

제곱하는 과정을 for문으로 작성했습니다

 

혹시 t가 int의 범위를 넘을 수 있기 때문에

t%10으로 매번 나눠줬습니다