费马费马小定理!

来源:互联网 发布:java重写方法快捷键 编辑:程序博客网 时间:2024/05/21 08:44
也是今天做题时才发现,在涉及模的取余运算时,如果有除法,不能直接除以一个数,这样得到的结果是不正确的,应该变成乘以它的乘法逆元。而逆元的计算可以使用扩展gcd

    费马小定理:假如p是素数,且a与p互质,那么a^(p-1) = 1 (mod p)。

  当我们除以一个数n时,也就是乘上1/n,若x是1/n关于模N的逆元,则x=1/n (mod N),即 x*n=1(mod N)。由于我们做题时N常常为1000000007或100000003,而1000000007(100000003)是个素数,所以它满足了费马小定理,而满足费马小定理说明解唯一,所以我们可以直接得出x*n=n^(N-1)。那么x=n^(N-2),即为1/n关于模N的乘法逆元。

0 0
原创粉丝点击