对分数取模算法

首先需要一段计算大指数幂并取模的代码:

const long long P = 1e9 + 7;
long long Pow(long long x, long long k)//大指数幂取模运算,x为底数,k为指数,计算x^K对P取模的值
{
    long long ret = 1;
    for (; k; k >>= 1, x = x * x % P) if (k & 1) ret = ret * x % P;
    return ret;
}

可以知道:

(A / B) % P == (A * B ^ (-1)) % P == ((A % P) * ( B ^ (-1) % P)) % P;

而:

B ^ (-1) % P == B  ^ (P - 2) % P == Pow(B,P - 2);

故:

(A / B) % P == ((A % P) * Pow(B,P - 2)) % P;
原文地址:https://www.cnblogs.com/drperry/p/13448061.html