fork download
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. #define FR0(i,N) for(i=0;i<(N);i++)
  4. #define FR1(i,N) for(i=1;i<=(N);i++)
  5. #define FRN(i,k,N) for(i=k;i<(N);i++)
  6. #define pf printf
  7. #define db double
  8. #define max3(a,b,c) max(max(a,b),c)
  9. #define min3(a,b,c) min(min(a,b),c)
  10. #define sci(n) scanf("%d",&n)
  11. #define scl(n) scanf("%lld",&n)
  12. #define scf(n) scanf("%f",&n)
  13. #define scd(n) scanf("%lf",&n)
  14. #define scs(s) scanf("%s",&s)
  15. #define scll(n) scanf("%%I64d",&n)
  16. #define PI acos(-1.0)
  17. #define LL long long
  18. #define MX 1000005
  19. #define MOD 1000000007
  20. typedef long long int ll;
  21. bool status[1100002];
  22. int bigmod(int base,int power,int mod)
  23. {
  24. if(power==0) return 1;
  25. else if(power%2==1)
  26. {
  27. int p1=base%mod;
  28. int p2=(bigmod(base,power-1,mod));
  29. return (p1*p2)%mod;
  30. }
  31. else if(power%2==0)
  32. {
  33. int p1=(bigmod(base,power/2,mod))%mod;
  34. return (p1*p1)%mod;
  35. }
  36. }
  37. int main()
  38. {
  39. int test,x,y,n;
  40. while(sci(test))
  41. {
  42. if(test==0) break;
  43. else
  44. {
  45. for(int i=1; i<=test; i++)
  46. {
  47. cin>>x>>y>>n;
  48. cout<<bigmod(x,y,n)<<endl;
  49. }
  50. }
  51. }
  52. }
  53.  
Success #stdin #stdout 0s 4532KB
stdin
2 
2 3 5 
2 2147483647 13 
0
stdout
3
11