对分数取模算法


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

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;


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM