快速幂,哪错了?
计算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; }