乘法逆元(对于质数模数的乘法逆元)

逆元是什么

  • 设S为一有二元运算 * 的集合。若e为(S,*)的单位元且a*b=e,则a称为b的左逆元素且b称为a的右逆元素。若一元素x同时是y的左逆元素和右逆元素时,x称为y的两面逆元素或简称为逆元素。S内的一有两面逆元素的元素被称为在S内为可逆的。
  • 直观地说,它是一个可以取消另一给定元素运算的元素。

乘法逆元

  • 也就是说,对于一个乘法运算 b ,它的乘法逆元就是它的倒数 b1

分数取模

  • 然而在很多题目中,数据都是十分大的,所以题目经常会出现”答案模Ha”,就是对Ha取模,这里Ha一般是个质数,比如说最常见的 109+7 ( 1000000007 ),此时,要是答案是个分数,那该怎么办呢?答案就是要用到分数取模的方法。

  • 先把内容写出来,下面再证明:

当gcd(b,Ha)==1时(其实就是 b 和 Ha 互质)

ab1 abHa2 (mod Ha)

这里的”≡”是同余符号,意思是左边那个和右边那个除以最后括号里的Ha的余数相同。
这样我们要求a/b模Ha的值时,就不会不知所措,只需求出 abHa2 模Ha的值就行了。

证明

这个的证明需要用到费马小定理,费马小定理就先不证了,可以百度或看其它的博文。

费马小定理:

  • 假如p是质数,且gcd(a,p)=1,那么 ap1 ≡ 1 (mod p)
  • 即:假如a是整数,p是质数,且a,p互质(即两者只有一个公约数1),那么a的(p-1)次方除以p的余数恒等于1。

gcd(b,Ha)==1那么我们就可以做一下推导(此处模数都为Ha,就不打上去了):

bHa1 ≡ 1
bHa2 b1
abHa2 ab1

第二行是第一行两边同乘 b1 得到的

这样,分数取模我们就学会了。

注意

要注意几点:
* Ha必须是质数
* b与Ha要互质

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值