fork download
  1. #include <iostream>
  2.  
  3. int bigMod(int n, int p, int m){
  4. if(p == 0) return 1;
  5. if(p % 2) return ((n%m)*bigMod(n,p-1,m))%m;
  6. else {
  7. int r=bigMod(n,p/2,m);
  8. return ((r%m)*(r%m))%m;
  9. }
  10. }
  11.  
  12. int main(){
  13. int n, p, m;
  14. while(scanf("%d%d%d",&n,&p,&m)==3) printf("%d\n",bigMod(n,p,m));
  15. return 0;
  16. }
Success #stdin #stdout 0s 4516KB
stdin
3
18132
17

17
1765
3

2374859
3029382
36123

14748
147483647
46340
stdout
13
2
13195
45352