Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- long int mo(long int b, long int p, long int m)
- {
- long int r;
- if(p == 0){
- r = 1;
- }
- else if(p % 2 == 0){
- r = (mo(b, (p/2), m) * mo(b, (p/2), m)) % m;
- }
- else{
- r = (mo(b, (p-1), m) * (b % m)) % m;
- }
- return r;
- }
- int main()
- {
- long int b, p, m, res;
- while(scanf("%ld %ld %ld", &b, &p, &m) != EOF){
- res = mo(b, p, m);
- printf("%ld\n", res);
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement