码迷,mamicode.com
首页 > 其他好文 > 详细

余数专题

时间:2015-08-21 23:10:18      阅读:185      评论:0      收藏:0      [点我收藏+]

标签:

余数专题

 

1.  取模性质

  加法 (a + b) % p = a % p + b % p;

  减法 (a - b)  % p = a % p  - b % p;

  乘法 (a * b)  % p = a % p * b % p;

  但是除法。。。。。。

  假设:a * b % p = c, 已知 b, c, p 求 a

  那么,a = c * d % p,c就是b的逆元,即1 / b

 

2. 逆元求法

  记1 / b 为 inv (b)

  求法1:

    结论:  技术分享

    证明:  技术分享

void Inv(void)    {
    inv[1] = 1; int p = MOD;        //MOD = 1e9 + 7
    for (int i=2; i<=N; ++i)    {
        inv[i] = (p - p / i) * inv[p%i] % p;
    }
    printf ("%I64d\n", 777 * 14 * inv[14] % MOD);
} 

  求法2:

    结论:  技术分享

ll pow_mod(int a, int x, int p) {
    ll ret = 1;
    while (x)   {
        if (x & 1)  ret = ret * a % p;
        a = a * 1ll * a  % p;
        x >>= 1;
    }
    return ret;
}

ll Inv(int a)   {
    return pow_mod (a, MOD - 2, MOD);
}

  

 

余数专题

标签:

原文地址:http://www.cnblogs.com/Running-Time/p/4749031.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!