Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- #define pb push_back
- #define mp make_pair
- using namespace std;
- typedef unsigned int uint;
- typedef long long int llint;
- typedef pair<int, int> pii;
- llint b, p, m;
- llint bigMod(llint b, llint p);
- //========================\\main//========================//
- int main()
- {
- while(cin >> b >> p >> m)
- {
- cout << bigMod(b, p) << "\n";
- }
- return 0;
- }
- //========================\\main//========================//
- llint bigMod(llint b, llint p)
- {
- if(p == 0)
- {
- return 1 % m;
- }
- if(p%2 == 0)
- {
- llint ret = bigMod(b, p / 2);
- return ( (ret % m) * (ret % m) ) % m;
- }
- else
- {
- return ((b % m) * (bigMod(b, p - 1) % m)) % m;
- }
- } /////////////////////////////////////
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement