반응형
https://www.acmicpc.net/problem/1629
- 문제를 나눌 수 없을 때까지 나누어서 각각을 풀면서 다시 합병하여 문제의 답을 얻는 알고리즘
- 가장 대표적인 예는 병합정렬(Merge Sort)이다.
import java.util.*;
public class Main {
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
long A = sc.nextInt();
long B = sc.nextInt();
long C = sc.nextInt();
System.out.println(pow(A, B,C)%C);
}// main()
static long pow(long A, long B,long C) {
if(B==0) {
return 1;
}else if(B==1) {
return A;
} else if (B % 2 == 0) { //짝수 지수
long n = pow(A, B / 2, C) % C;
return (n * n) % C;
} else { //홀수 지수
long n = pow(A, B / 2, C) %C;
return (((n * n) % C) * A) % C;
}
}//pow()
}// class Main
728x90
반응형
'코딩테스트 > 백준' 카테고리의 다른 글
[Java] 백준 11403 : 경로 찾기 (0) | 2023.02.15 |
---|---|
[Java] 백준 1074 : Z (0) | 2023.02.15 |
[Java] 백준 11057 : 오르막 수 (0) | 2023.02.10 |
[Java] 백준 7526 : 나이트의 이동 (0) | 2023.02.10 |
[Java] 백준 1992 : 쿼드트리 (0) | 2023.02.09 |
댓글