개발/알고리즘 거듭제곱 구하기 모아이모아이 2016. 12. 9. 00:24 문제 정수 a와 m이 주어 졌을때, a의 m 거듭제곱을 1,000,000,007 로 나눈 나머지를 출력하는 문제이다. 입력 두 정수 a와 m이 주어진다. 1 <= a, m <= 2^63 - 1 출력 a 의 m 제곱 값을 10억 7로 나눈 나머지를 출력한다. 힌트 예제 입력 2 4 예제 출력 16 #include #include using namespace std; long long a, m; long long A[33]; long long standard = 1000000007; long long pow(long long a, long long b) { if (b == 0) { //탈출 함수 return 1; } if ((b & 1) == 0){ //짝수 long long res = pow(a, b / 2); return res * res % standard; }else{ //홀수 long long res = pow(a, b - 1); return a * res % standard; } } int main() { //ifstream cin("input.txt"); cin >> a >> m; long long res = pow(a, m); cout << res << endl; //system("pause"); return 0; } 공유하기 게시글 관리 모아이석상의 컴퓨터 이야기 저작자표시 '개발 > 알고리즘' 카테고리의 다른 글 이친수 (0) 2016.12.09 계단 오르기 (0) 2016.12.09 나누기 (0) 2016.12.09 cow party (0) 2016.12.03 가장 먼 두 도시 (0) 2016.12.03 '개발/알고리즘' Related Articles 이친수 계단 오르기 나누기 cow party