这道快速幂取模,是最基本的,常数的快速幂取模了!
#include <iostream>
#include <cstdio>
#include <cstring>
#include <string>
using namespace std;
__int64 fun(__int64 a,__int64 b,__int64 c)
{
__int64 k;
k=1;
a%=c;
while(b>=1)
{
if((b&1)!=0)
{
k=(k*a)%c;
}
b>>=1;
a=(a*a)%c;
}
return k;
}
int main()
{
__int64 t;
__int64 a,b,c;
while(scanf("%I64d",&t)!=EOF)
{
while(t--)
{
scanf("%I64d%I64d%I64d",&a,&b,&c);
__int64 sum;
sum=fun(a,b,c);
printf("%I64d\n",sum);
}
}
return 0;
}