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

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

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

最简的意思是若 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)。
相关推荐
晓蛋17 小时前
c语言指的是什么意思
c语言·编译器·编程开发·集成开发环境·程序实例
倒头就睡的小比特17 小时前
算法竞赛C++常用的STL
c++·算法
weilx123417 小时前
C++笔记-文件IO-<fcntl.h>
c++
小羊没烦恼!17 小时前
初探性能优化——2个月到4小时的性能提升
java·开发语言·windows·算法·c#
傲世仙尊17 小时前
目录即文件-Ext文件系统收尾篇
linux·c语言
神仙别闹18 小时前
基于C#+MySQL实现(WinForm)个人聊天室软件
c#
牵猫散步的鱼儿18 小时前
重载、重写(覆盖)、重定义区别
c语言
猎头南楼19 小时前
知识社区推荐系统实践:新用户冷启动与长短期兴趣建模的挑战 资深推荐算法工程师
人工智能·深度学习·算法·机器学习
phltxy19 小时前
C 语言指针:从内存地址到灵活的数据访问
c语言
Smileyqp沛沛19 小时前
前端?C++ ?较大差异基础罗列
c++·基础·前端转c++