
문제https://www.acmicpc.net/problem/1629풀이그냥 단순하게 풀면 BufferOverflow 및 시간 초과가 발생하므로 분할 정복을 활용해야 하며, 지수 법칙과 모듈러 방식을 사용하여 진행해야 한다. 지수 법칙은 a^(n+m) = a^n * a^m으로 이를 활용하여 지수가 짝수인 경우와 홀수인 경우의 전개를 보면 아래와 같다.이를 트리 구조로 표현해 보면 아래와 같이 되는 것을 확인할 수 있다.여기까지만 간단하게 코드를 작성해보면 아래와 같다.public static long pow(long A, long exponent) { // 지수가 1일 경우 A^1 이므로 A % C를 리턴 if (exponent == 1) return A % C; /..