算法模板_快速幂

%mod, 时间复杂度O(logk)

long long fastpow(long long b,long long p,long long mod)
{
    long long res = 1;//存结果
    while(p > 0)
    {
        if(p & 1)//相当于 p % 2 == 1,若是奇数则抽一个出来
            res = b * res % mod;//抽一个幂出来就是乘一个底数
        p >>= 1;//等价于除等于2
        b = b * b % mod;
    }
    return res;
}
全部评论

相关推荐

10-09 22:05
666 C++
找到工作就狠狠玩CSGO:报联合国演讲,报电子烟设计与制造
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务