[백준] 1009. 분산처리
문제 링크
풀이 과정
분할정복으로 거듭제곱을 구현해 사용했습니다. 또한, $a^b$의 일의 자리 수가 정답이 되는 문제 특성을 파악해, 두 수를 곱한 결과의 일의 자리수만을 이용했습니다.
코드
import java.util.Scanner;
public class BOJ_1009_분산처리 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int TC = sc.nextInt();
while (TC-- > 0) {
int a = sc.nextInt();
int b = sc.nextInt();
int num = pow(a, b);
System.out.println(num == 0 ? 10 : num);
}
}
static int pow(int a, int e) {
if (e == 1) return a % 10;
int half = pow(a, e / 2) % 10;
if (e % 2 == 0) return half * half % 10;
else return half * half * a % 10;
}
}
댓글남기기