快速幂:a的b次方对n取余

int ksm(int a, int b, int n)
{
    a %= n;
    int ans = 1;
    while(b)
    {
        if(b%2 == 1)
            ans = ans*a%n;
        b /= 2;
        a = a*a%n;
    }
    return ans;
}

标签: acm, 算法

添加新评论