给定三个正整数A,B和C,求AB mod C的结果,其中mod表示求余数。
输入格式:
首先输入一个正整数T,表示测试数据的组数,然后是T组测试数据。每组测试数据输入三个正整数A,B,C(A,B,C≤1000000)。
输出格式:
对于每组测试,输出计算后的结果,每组测试的输出占一行。
输入样例:
2
3 3 5
4 4 6
输出样例:
2
4
#include<stdio.h>
void solve(long long a,long long b,long long c)
{
long long ans=1;
a%=c;
while(b)
{
if(b&1)
{
ans=(ans*a)%c;
}
b>>=1;
a=(a*a)%c;
}
printf("%lld\n",ans);
}
int main()
{
int t;
scanf("%d",&t);
while(t--)
{
long long a,b,c;
scanf("%lld %lld %lld",&a,&b,&c);
solve(a,b,c);
}
return 0;
}