BOJ 1629
문제

아이디어
- 단순하게 Python으로 A의 B승을 구하여 C로 나눈 나머지를 출력 
- 시간초과
 
- 반복문으로 A에 B를 곱해주며 매번 C를 나눠준다
- 시간초과
 
- 나머지가 생기는 규칙적인 패턴이 있으므로 패턴을 찾아서 접근
- 시간초과
 
- 시간초과
- 시간초과
- 시간초과
아무리 생각해도 시간초과를 발생시키지 않고 풀지 못하겠어서 검색하였다.
참고
코드
#include <iostream>
long long getExponent(int a, int b, int c)
{
	if (b == 0) {
		return 1;
	}
	return (b % 2 == 1) ? (getExponent(a, b/2, c) * getExponent(a, b/2, c) % c * a % c) : (getExponent(a, b/2, c) * getExponent(a, b/2, c) % c);
}
int main(void)
{
	int a, b, c;
	scanf("%d %d %d", &a, &b, &c);
	
	printf("%lld\n", getExponent(a, b, c));
	return 0;
}
리뷰
- 전형적인 재귀함수를 사용한 분할정복 문제
- 큰 수에 접근하는 문제면 분할정복을 사용해야 하지만 매번 까먹는다.
Author And Source
                            
                            이 문제에 관하여(BOJ 1629), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
                                
                                https://velog.io/@kimjaeseop/BOJ-1629
                            
                            
                            
                                저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
                            
                            
                                
                                
                                 우수한 개발자 콘텐츠 발견에 전념
                                (Collection and Share based on the CC Protocol.)
                                
                                
                                우수한 개발자 콘텐츠 발견에 전념
                                (Collection and Share based on the CC Protocol.)
                            
                            
                        
                    
                
                
                
            
#include <iostream>
long long getExponent(int a, int b, int c)
{
	if (b == 0) {
		return 1;
	}
	return (b % 2 == 1) ? (getExponent(a, b/2, c) * getExponent(a, b/2, c) % c * a % c) : (getExponent(a, b/2, c) * getExponent(a, b/2, c) % c);
}
int main(void)
{
	int a, b, c;
	scanf("%d %d %d", &a, &b, &c);
	
	printf("%lld\n", getExponent(a, b, c));
	return 0;
}- 전형적인 재귀함수를 사용한 분할정복 문제
- 큰 수에 접근하는 문제면 분할정복을 사용해야 하지만 매번 까먹는다.
Author And Source
이 문제에 관하여(BOJ 1629), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@kimjaeseop/BOJ-1629저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
                                
                                
                                
                                
                                
                                우수한 개발자 콘텐츠 발견에 전념
                                (Collection and Share based on the CC Protocol.)