fork(4) download
  1. //sridhar
  2. #include <stdio.h>
  3. long long p;
  4. long long power (long long a,long long b){
  5. if (b==0)
  6. return 1;
  7. if (b==1)
  8. return a%p;
  9. if (b&1){ // if b is odd
  10. return (a*power(a,b-1))%p;
  11. }
  12. // here b is even
  13. long long k;
  14. k = power(a,b/2);
  15. return (k*k)%p;
  16. }
  17. int main (){
  18. long long a;
  19. long long n,k;
  20. while (1){
  21. scanf ("%lld%lld%lld",&n,&k,&p); // (n^k)%p
  22. if (!(n || k || p)) // 0 0 0 to terminate
  23. break;
  24. a = power(n,k);
  25. printf ("ans %lld\n",a);
  26. continue;
  27. }
  28. return 0;
  29. }
Success #stdin #stdout 0s 2116KB
stdin
3 3 10000000
3 5 10000000
3 7 10000000
0 0 0
stdout
ans 27
ans 243
ans 2187