快速幂

快速幂的思想就是将幂指数转化为2进制再来运算

例子:\(a^5\,\,\,\,5=101\,\,\, a^5=a^1*a^4\)

时间复杂度\(O(log_2 n)\)

Code:

int pow(int a,int b,int c){
    int ans=1;
    while(b){
        if(b&1) ans=(ans*a)%c;
        a=(a*a)%c;b>>=1;
    }return ans;
}
posted @ 2019-04-13 15:33  DQY_dqy  阅读(145)  评论(0编辑  收藏  举报