首页 > 其他 > 详细

快速幂求余

时间:2019-05-04 22:41:01      阅读:131      评论:0      收藏:0      [点我收藏+]

简介

快速幂求余算法是一种可以在O(logn)下求出ab mod c的一种算法。

具体实现

需要用到的定理:
技术分享图片

上面的公式,使得原本需要用a的b次方才能取得的余数,现在远远小于b的次方就可以求得。

算法实现:

long long  PowerMod (int a, int b, int c) {
    int  ans = 1;
    a = a % c;
    while(b>0) {
        if(b % 2 = = 1) //b为奇数
            ans = (ans * a) % c;
        b = b/2;       //   b>>=1;
        a = (a * a) % c;
    }
    return ans;
}

快速幂求余

原文:https://www.cnblogs.com/woxiaosade/p/10810084.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!