Advertisement
YEZAELP

SMMR-033: Power Mod

Nov 9th, 2021
687
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.62 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2.  
  3. using namespace std;
  4. using lli = long long;
  5. const lli logN = 30;
  6.  
  7. int main(){
  8.  
  9.     int n;
  10.     scanf("%d", &n);
  11.  
  12.     for(int i=1;i<=n;i++){
  13.         lli num, pow, mod;
  14.         scanf("%lld %lld %lld", &num, &pow, &mod);
  15.         lli expo[logN + 1];
  16.         expo[0] = num % mod; /// num ^ (2^ 0) = num ^ 1;
  17.         for(int i=1;i<=logN;i++)
  18.             expo[i] = (expo[i-1] * expo[i-1]) % mod;
  19.         lli ans = 1;
  20.         for(int i=0;i<=logN;i++){
  21.             if( pow & (1 << i))
  22.             ans = (ans * expo[i]) % mod;
  23.         }
  24.         cout << ans << '\n';
  25.     }
  26.  
  27.     return 0;
  28. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement