当快速幂还超long long时 可以在快速幂中调用快速乘

typedef long long ll;
ll ksc(ll x,ll y,ll mod)
{
return (x*y-(ll)((long double)x/mod*y)*mod+mod)%mod;
}
ll fun(ll a,ll b,ll p)
{
ll ans=1;
while(b)
{
if(b&1)
ans=ksc(ans,a,p);
a=ksc(a,a,p);
b>>=1;
}
return ans%p;
}

 

快速幂之前写过

快速乘

typedef long long ll;
ll ksc(ll x,ll y,ll mod)
{
return (x*y-(ll)((long double)x/mod*y)*mod+mod)%mod;
}

posted on 2019-03-10 09:22  喃喃小羽住  阅读(196)  评论(0)    收藏  举报