Advertisement
NAbdulla

Untitled

Nov 18th, 2014
164
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.47 KB | None | 0 0
  1. #include <stdio.h>
  2.  
  3. long int mo(long int b, long int p, long int m)
  4. {
  5.     long int r;
  6.     if(p == 0){
  7.         r = 1;
  8.     }
  9.     else if(p % 2 == 0){
  10.         r = (mo(b, (p/2), m) * mo(b, (p/2), m)) % m;
  11.     }
  12.     else{
  13.         r = (mo(b, (p-1), m) * (b % m)) % m;
  14.     }
  15.     return r;
  16. }
  17.  
  18. int main()
  19. {
  20.     long int b, p, m, res;
  21.     while(scanf("%ld %ld %ld", &b, &p, &m) != EOF){
  22.         res = mo(b, p, m);
  23.         printf("%ld\n", res);
  24.     }
  25.     return 0;
  26. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement