算法模板_快速幂

%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-25 12:05
已编辑
湖南科技大学 Java
若梦难了:我有你这简历,已经大厂乱杀了
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务