구현 자체는 어렵지 않은데 방식을 모르면 쉽게 풀 수 없는 문제 같다.
여러 번 풀면서 방식을 익혀놓으면 다른 문제 풀 때 사고에 도움이 될 것 같다.
알고리즘 방식
#include <iostream>
#include <string>
#include <queue>
#include <vector>
#include <algorithm>
#include <cmath>
#include <list>
#include <stack>
#include <deque>
using namespace std;
long long pow(long long a, long long b, long long c) {
if (b == 1)
return a % c;
long long val = pow(a, b / 2, c);
val = val * val % c;
if (b % 2 == 0)
return val;
else
return val * a % c;
}
int main(void) {
long long A, B, C;
long long result = 1;
cin >> A >> B >> C;
cout << pow(A, B, C);
}
'알고리즘 > C++' 카테고리의 다른 글
[백준] 2573번 빙산 (0) | 2021.03.17 |
---|---|
[백준] 2493번 탑 (0) | 2021.03.17 |
[백준] 9663번 N-Queen (0) | 2021.03.16 |
[백준] 1463번 1로 만들기 (0) | 2021.03.16 |
[백준] 9466번 텀 프로젝트 (0) | 2021.03.13 |
댓글