Advertisement
NAbdulla

Big Mod

Nov 18th, 2014
162
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.41 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