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

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

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

最简的意思是若 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)。
相关推荐
我找到地球的支点啦3 分钟前
Matlab系列(009) 一CRC循环冗余校验详解
开发语言·数据结构·算法·matlab·信息与通信
罗西的思考16 分钟前
【OpenClaw具身硬件】ZeroClaw 源码阅读笔记(3)--- RAG
人工智能·算法·机器学习
惜离殇28 分钟前
从零开始的敲代码生活--Linux应用软件(文件操作基础1)
linux·c语言·文件操作·标准io
浪里镖客1 小时前
位姿转换矩阵写法-个人习惯(计算机理解其实是相反的)
线性代数·算法·矩阵
青梅味猪大肠2 小时前
【深入浅出C++】为什么虚表指针可以解决菱形继承
开发语言·c++
潘潘的嵌入式日记2 小时前
I²C 从机接收总被覆盖?双缓冲要在 STOP 时交接
c语言·开发语言·单片机
Lhan.zzZ3 小时前
QML 组件库:VS2022 + Qt 静态库方案
开发语言·c++·qt·visual studio
xx~t4 小时前
嵌入式——Linux软件编程——网络1
linux·c语言·网络·vscode·网络协议
小白羊丨4 小时前
如何诊断 Prompt 模板导致的效果下降?
人工智能·算法·prompt
一木 之林5 小时前
五、C++ 新特性、关键字与编译原理(进阶)(二)
java·开发语言·c++