快速幂,哪错了?
计算a^k(mod m)多组测试数据,a k m为正整数且0<a,k,m<=10^18
程序代码:#include<cstdio>
__int64 quickpow(__int64 a,__int64 k,__int64 mod)
{
__int64 temp=1;
while(k>0){
if(k&1)
temp=a*temp%mod;
a=a*a%mod;
k/=2;
}
return temp;
}
int main()
{
__int64 a,k,m;
while(~scanf("%I64d%I64d%I64d",&a,&k,&m)){
printf("%I64d\n",quickpow(a,k,m));
}
return 0;
}








