快速幂模板

long long quickpow(long long a, long long b) {
if (b < 0) return 0;
long long ret = 1;
a %= mod;
while(b) {
if (b & 1) ret = (ret * a) % mod;
b >>= 1;
a = (a * a) % mod;
}
return ret;
}

 

long long mi(long long a,long long b)
{
if(b==0)
return 1;
long long res=mi(a*a,b/2);
if(b & 1)
res=res*a;
return res;

}

本作者建议用第一种,不要问为什么,大神都是这么用的;

posted @ 2018-04-30 08:10  shuai_hui  阅读(105)  评论(0编辑  收藏  举报