Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- using lli = long long;
- const lli logN = 30;
- int main(){
- int n;
- scanf("%d", &n);
- for(int i=1;i<=n;i++){
- lli num, pow, mod;
- scanf("%lld %lld %lld", &num, &pow, &mod);
- lli expo[logN + 1];
- expo[0] = num % mod; /// num ^ (2^ 0) = num ^ 1;
- for(int i=1;i<=logN;i++)
- expo[i] = (expo[i-1] * expo[i-1]) % mod;
- lli ans = 1;
- for(int i=0;i<=logN;i++){
- if( pow & (1 << i))
- ans = (ans * expo[i]) % mod;
- }
- cout << ans << '\n';
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement