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

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

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

最简的意思是若 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)。
相关推荐
折哥的程序人生 · 物流技术专研4 小时前
Java面试85题图解版 · 特别篇:2026后端高频面试题复盘(算法底层逻辑+高并发架构设计全解析,附Java实战代码)
java·网络·数据库·算法·面试
玖玥拾5 小时前
C/C++ 基础笔记(十四)多态与模板编程
c语言·c++·多态·模板
想吃火锅10055 小时前
【leetcode】14.最长公共前缀js
算法·leetcode·职场和发展
Roann_seo%5 小时前
C++文件操作完全指南:从文本读写到二进制文件处理
开发语言·c++
坚果派·白晓明6 小时前
【鸿蒙PC】SDL3 适配:AtomCode + Skills 快速集成 NAPI 测试工具
c++·华为·ai编程·harmonyos·atomcode
云絮.6 小时前
数据库操作
数据库·mysql·算法·oracle
小林ixn6 小时前
LeetCode 206. 反转链表(迭代 + 递归详解)
算法·leetcode·链表
凡人叶枫7 小时前
Effective C++ 条款17:以独立语句将 newed 对象置入智能指针
java·linux·开发语言·c++·算法
凡人叶枫8 小时前
Effective C++ 条款16:成对使用 new 和 delete 时要采取相同形式
开发语言·c++·effective c++
菜鸟‍8 小时前
LeetCode 1 27 和 704 || 两数之和 移除元素 二分查找
算法·leetcode·职场和发展