Advertisement
Guest User

Untitled

a guest
May 19th, 2019
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.84 KB | None | 0 0
  1. #define ONLINE_JUDGE 1
  2. /**********************************************************************\
  3. |           _______  _     _____    ____   ___     _                   |
  4. |          |___   _|(_)   / ___/   / _  | |   \   | |                  |
  5. |              | |  | |  / /___   / /_| | | |\ \  | |                  |
  6. |           _  | |  | | /___  /  /  __  | | | \ \ | |                  |
  7. |           \ \| |  | | ___/ /  / /   | | | |  \ \| |                  |
  8. |            \___/  |_|/____/  /_/    |_| |_|   \___|                  |
  9. |                  Computer Science and Engineering                    |
  10. |  Bangabandhu Sheikh Mujibur Rahman Science and Technology University |
  11. |         devskill:jisancse||uva:jishan047||github:jisan047            |
  12. \**********************************************************************/
  13.  
  14.                 /********************\
  15.                 |                    |
  16.                 |    lets try.....   |
  17.                 |                    |
  18.                 \********************/
  19.  
  20. #include<bits/stdc++.h>
  21. using namespace std;
  22.  
  23. ///pre-processing
  24. #define     gcd(a, b)       __gcd(a,b)
  25. #define     lcm(a, b)       (a * b) / gcd(a, b)
  26. #define     loop(i, n)      for(int i=0;i<n;i++)
  27. #define     all(x)          x.begin(),x.end()
  28. #define     mem(a, x)       memset(a,x,sizeof a)
  29. #define     endl            '\n'
  30. #define     ss              second
  31. #define     ff              first
  32. #define     TN              typename
  33.  
  34. ///input functions
  35. int Int(){int x;scanf("%d",&x);return x;}
  36. long long Long(){long long x;scanf("%lld",&x);return x;}
  37. double Double(){double x;scanf("%lf",&x);return x;}
  38.  
  39. ///input functions shorting
  40. #define Int Int()
  41. #define Long Long()
  42. #define Double Double()
  43. #define Float Float()
  44.  
  45. ///Constants
  46. const int N = (int) 1e5 + 5;
  47. //const long long MOD = (int) 1e9 + 7;
  48. //Trying to do something.
  49. //()()()()()()()()() ..... ()()()()()()()()()()()()
  50. //~~~~~~~~~~~~~~~~~~~~~~Get Ready~~~~~~~~~~~~~~~~~~~~~
  51.  
  52. ///debugger
  53.  
  54. ///end
  55. unsigned long long peasant(unsigned long long a, unsigned long long b, unsigned long long MOD){
  56.     unsigned long long res = 0;
  57.     while(b){
  58.         if(b & 1){res += (a % MOD), res %= MOD;}
  59.         a <<= 1;
  60.         a %= MOD;
  61.         b >>= 1;
  62.     }
  63.     return res;
  64. }
  65. unsigned long long bigMod (unsigned long long base, unsigned long long power, unsigned long long MOD){
  66.     long long res = 1;
  67.     while (power){
  68.         if (power & 1){
  69.             res = peasant(res, base, MOD) % MOD;
  70.         }
  71.         base = peasant(base, base, MOD) % MOD;
  72.         power = power >> 1;
  73.     }
  74.     return res;
  75. }
  76.  
  77. // loading..................
  78.  
  79. int main()
  80. {
  81.     int t = Int, cs = 0;
  82.     while(t--){
  83.         printf("Case %d: ", ++cs);
  84.         unsigned long long a, b, c;
  85.         cin >> a >> b >> c;
  86.         cout << bigMod(a, b, c) <<endl;
  87.     }
  88.     return 0;
  89. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement