Skip to content

初等数论

参考资料

  • 《离散数学及其应用》- 翻译版,包含"离散数学"和组合数学/初等数论等内容 - 4

模与素数

  • aba \mid b \Leftrightarrow aa整除bb \Leftrightarrow bbaa的倍数
  • ab(modc)a \equiv b \pmod{c} \Leftrightarrow a=b+kca=b+kc(kk为整数)
  • mm算术: 运算数在Zm\mathbb{Z}_m范围内,结果取模mm,结果集合为Zm\mathbb{Z}_m
  • 模指数运算: (ba)%m=(b(ba1%m))%m(b^a)\%m = (b \cdot (b^{a-1}\%m))\%m(可结合快速幂优化)
  • 埃拉托斯特尼筛法: 寻找小于nn的素数,每遇到素数就标记其倍数为合数
  • 素数定理: 小于nn的素数个数nlnn\sim \frac{n}{\ln n}
  • 欧拉函数ϕ(n)\phi(n): 小于nn的正整数中与nn互质的数的个数

GCD/LCM

  • gcd(a,b)\gcd(a,b)/lcm(a,b)lcm(a,b) = 所有素因子的最小/最大幂次乘积
  • ab=gcd(a,b)lcm(a,b)ab = \gcd(a,b) \cdot lcm(a,b)
  • 欧几里得算法: a=bq+rgcd(a,b)=gcd(b,r)a=bq+r \Rightarrow \gcd(a,b)=\gcd(b,r)
  • 贝祖定理: 存在整数x,yx,y使得ax+by=gcd(a,b)ax+by=\gcd(a,b)

同余

  • 同余方程axb(modm)ax \equiv b \pmod{m}:
  • gcd(a,m)=1\gcd(a,m)=1,则存在唯一逆元aa'使得aa1(modm)aa' \equiv 1 \pmod{m}
  • aa'可通过扩展欧几里得算法求得
  • 中国剩余定理(CRT):
  • 对于方程组xbi(modmi)x \equiv b_i \pmod{m_i}(mim_i两两互质)
  • 存在唯一解xbiMiMi(modmi)x \equiv \sum b_i M_i M_i' \pmod{\prod m_i}
  • (其中Mi=jimjM_i = \prod_{j\neq i} m_jMiM_i'MiM_imim_i的逆元)
  • 其意义在于将以大数分解为互质的因数, 任意小于大数的数都可以唯一表示为对于每个因数的模的余数的线性组合 (就是 b1-bn) 因此可以分开计算, 最后再将结果合并复原
  • 费马小定理: 若pp为素数且pap \nmid a,则ap11(modp)a^{p-1} \equiv 1 \pmod{p}

伪素数

  • an11(modn)a^{n-1} \equiv 1 \pmod{n}nn为合数,称nn为以aa为底的伪素数
  • 卡米切尔数: 对所有与nn互质的aa都满足上述条件的合数

原根

  • pp为素数,rrpp互质,最小的kk使得rk1(modp)r^k \equiv 1 \pmod{p}称为rr的阶
  • rr的阶等于ϕ(p)=p1\phi(p)=p-1,则称rrpp的原根
  • 离散对数: 若rea(modp)r^e \equiv a \pmod{p},则记e=lograe=\log_r a

应用

  • 散列函数设计
  • 伪随机数生成: Xn+1(aXn+b)(modm)X_{n+1} \equiv (aX_n + b) \pmod{m}(要求gcd(a,m)=gcd(b,m)=1\gcd(a,m)=\gcd(b,m)=1)
  • 校验码(如CRC)