我的快速幂固定模板

1.

我们发现,在int型下使用pow函数求5的三次方,结果为124。

原因:

pow函数的返回值为double型,因浮点数长度问题,存在截断误差。

_______________________________https://blog.csdn.net/liangllhahaha/article/details/82119378

 对于二进制的位运算,我们需要用到"&"与">>"运算符,详见位运算符的应用。

2.

typedef long long ll;
ll qmod(ll a,ll b,ll m)//a^b MOD m
{
    ll ans=1;
    while(b)
    {
        if(b&1) ans=(ans*a)%m;  //若非0,则乘之!
        b>>=1;             //b=b>>1; b=b/2; 去尾弃位
        a=(a*a)%m;
    }
    return ans;
}
原文地址:https://www.cnblogs.com/dragondragon/p/11339636.html