快速幂

原理:
\(7\)用二进制表示为\(1011,8+0+2+1\)
\(2^11 = 2^1\times 2^2\times 2^8\)

int base = a, ans = 1;
while(b){
    if(b & 1) ans = (ans *1ll* base) %p;
    base = (base *1ll* base) %p;
    b >>= 1;
}
posted @ 2024-12-04 09:11  弗阴  阅读(12)  评论(0)    收藏  举报