__int64a*b%c不超上限的位運算方法

LL mul(LL a, LL b, LL c){
    LL r= 0;
    while(b){
        if(b&1) if((r+=a) >= c) r-=c;
        a<<=1;
        if(a>=c) a-=c;
        b>>=1;
    }
    return r;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章