對分數取模算法


首先需要一段計算大指數冪並取模的代碼:

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