给定 n 组 ,对于每组数据,求出 的值。
输入格式
第一行包含整数 n。
接下来 n 行,每行包含三个整数 。
输出格式
对于每组数据,输出一个结果,表示 的值。
每个结果占一行。
数据范围
1≤n≤100000,
1≤≤2×
输入样例:
2
3 2 5
4 3 9
输出样例:
4
1
代码:
cpp
#include<iostream>
#include<algorithm>
using namespace std;
long long a,b;
int n,p;
const int N = 100010;
long long QuickMul(long long a,long long b,int p){
long long res = 1;
while(b != 0){
if((b & 1) == 1){
res = res * a % p;
}
b = b / 2;
a = a * a % p;
}
return res;
}
int main(){
cin>>n;
while(n--){
cin>>a>>b>>p;
long long ans = QuickMul(a,b,p);
cout<<ans<<endl;
}
return 0;
}