模意义下及同余的公式整理

模意义下及同余的公式整理

我们在做同余或模意义下式子的时候,可以把元素都先处理到最简,然后就基本可以用普通的算式性质了。

最简的意思是若 a>pa>pa>p,把 a←a mod pa\leftarrow a\bmod pa←amodp。

  • a mod b=a−⌊ab⌋ba\bmod b=a-\lfloor\frac{a}{b}\rfloor bamodb=a−⌊ba⌋b
  • (a+b) mod p=(a mod p+b mod p) mod p(a+b)\bmod p=(a\bmod p+b\bmod p)\bmod p(a+b)modp=(amodp+bmodp)modp
  • (a−b) mod p=(a mod p−(b mod p)+p) mod p(a-b)\bmod p=(a\bmod p-(b\bmod p)+p)\bmod p(a−b)modp=(amodp−(bmodp)+p)modp
  • ab mod p=a mod p×b mod pab\bmod p=a\bmod p\times b\bmod pabmodp=amodp×bmodp
  • kp mod p=0kp\bmod p=0kpmodp=0

若 a<0a<0a<0:

令 a=−kp+ba=-kp+ba=−kp+b。其中 kkk 为非负的整数,b<0b<0b<0。

其中 kkk 是满足 −kp≥a-kp\ge a−kp≥a 的最小整数值。

则 a≡b( mod p)a\equiv b(\bmod p)a≡b(modp)。

  • 若 −p<a<0-p<a<0−p<a<0,a≡p−a( mod p)a\equiv p-a(\bmod p)a≡p−a(modp)

同余

  • a≡a( mod p)a\equiv a(\bmod p)a≡a(modp)
  • 若 a≡ba\equiv ba≡b,则 b≡ab\equiv ab≡a
  • 若 a≡b,b≡ca\equiv b,b\equiv ca≡b,b≡c,则 a≡ca\equiv ca≡c
  • 若 a≡ba\equiv ba≡b,则 a±c≡b±ca\pm c\equiv b\pm ca±c≡b±c
  • 若 a≡b,c≡da\equiv b,c\equiv da≡b,c≡d,则 a±c≡b±da\pm c\equiv b\pm da±c≡b±d
  • 若 a≡b( mod p)a\equiv b(\bmod p)a≡b(modp),则 ac≡bc( mod p)ac\equiv bc(\bmod p)ac≡bc(modp)

除法(乘法逆元):

若 xa≡1( mod p)xa\equiv 1(\bmod p)xa≡1(modp),则称 a≡x−1( mod p)a\equiv x^{-1}(\bmod p)a≡x−1(modp),也称 aaa 为 xxx 在模 ppp 意义下的乘法逆元。

怎么求就不用多说了,一般情况下 ppp 为质数,最小的 a=xp−2a=x^{p-2}a=xp−2。

或者 O(n)O(n)O(n) 递推求逆元。

所以模意义下的除法 ab≡ab−1( mod p)\frac{a}{b}\equiv ab^{-1}(\bmod p)ba≡ab−1(modp)。

  • 所以若 ac≡bc( mod p)ac\equiv bc(\bmod p)ac≡bc(modp),未必有 a≡b( mod p)a\equiv b(\bmod p)a≡b(modp)。
相关推荐
稚南城才子,乌衣巷风流2 小时前
ST 表(Sparse Table)算法详解:原理、实现与应用
算法
hold?fish:palm2 小时前
9 找到字符串中所有字母异位词
c++·算法·leetcode
Sw1zzle3 小时前
算法入门(六):贪心算法 - 基础入门(Leetcode 121/455/860/376/738)
算法·leetcode·贪心算法
青山木3 小时前
Hot 100 --- 岛屿数量
java·数据结构·算法·leetcode·深度优先·广度优先
不会就选b3 小时前
算法日常・每日刷题--<归并排序>1
数据结构·算法
危桥带雨3 小时前
排序算法(快排、归并、计数、基数排序)
数据结构·算法·排序算法
啦啦啦啦啦zzzz3 小时前
算法:回溯算法
c++·算法·leetcode
会飞的小新4 小时前
C 标准库之 <fenv.h> 详解与深度解析
c语言·开发语言·microsoft
IT探索4 小时前
Linux 查找文件指令总结
linux·算法