快速幂的板子题
int qpow(int a,int b,int p) {
int ans = 1;
while(b) {
if(b&1) ans = ans%p*a%p;
a = a%p*a%p;
b>>=1;
}
return ans%p;
}
要记得开long long
这里有一个小trick
#define int long long
signed main() {
···
}
define在手,long long不愁
但也不是一劳永逸的
别忘了scanf和printf的%lld
CODE
#include<bits/stdc++.h>
#define int long long
using namespace std;
int n,a,b,p;
int qpow(int a,int b,int p) {
int ans = 1;
while(b) {
if(b&1) ans = ans%p*a%p;
a = a%p*a%p;
b>>=1;
}
return ans%p;
}
signed main() {
scanf("%lld",&n);
while(n--){
scanf("%lld%lld%lld",&a,&b,&p);
printf("%lld\n",qpow(a,b,p));
}
return 0;
}