除法取模及快速幂模板

除法是不能直接相除取模的,所以需要将除法转换为乘法

即: 

变形得  ≡ 1 (mod p)

由费马小定理  %p ≡ 1 (mod p) 得 ≡ 1 (mod p)

即 b 对质数 p 的逆元  

快速幂模板:

int Mod = 1e9+7;
ll gmi(ll a, ll b = Mod - 2)
{
    if (a == 0 || a == 1)
        return a;
    ll res = 1, t = a;
    while (b)
    {
        if (b & 1)
            res = res * t % Mod;
        b >>= 1;
        t = t * t % Mod;
    }
    return res;
}
全部评论

相关推荐

不愿透露姓名的神秘牛友
06-20 20:15
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务