初等数论笔记

###威尔逊(Wilson)定理

当 p为质数时
(p1)!=p1=1 (modp)

除了 1 p1之外的数都可以和自己的逆元相乘得到幺元 1

其逆定理为,若 p>1 (p1)!=1 (modp) ,则 p 为质数


费马(Fermat)小定理

p为质数,且 x p互质时
xp1=1 (modp)


欧拉(Euler)定理

x p互质时
xϕ(p)=1 (modp)
特别的,当 p 为质数时
xϕ(p)=xp1=1 (modp)
所以欧拉定理是费马小定理的推广

经典用途:

  1. 大指数降幂:
    xa=xa%(p1) (modp)
    xa=xa%ϕ(p)+ϕ(p) (modp) (这个公式不要求 x与 p互质)
    有时候指数特别大,就可以利用费马小定理降幂
  2. 求逆元
    a×ap2=1 (modp)
    amodp 的逆元为 ap2modp

莫比乌斯反演(Mobius)

莫比乌斯函数:

μ(1)=1
μ(n)=0 (n能被完全平方数整除)
μ(n)=(1)k (k为n质因子的个数)

性质:
对于任意 n>1 Σd|nμ(d)=0

证明:
对于任意 n>1 ,如果其约数 d 能被完全平方数整除,那么贡献为 0
考虑不能被整除的约数,其组成为若干个组成 n 的质数(设有 k 个)的乘积
那么,由 0 个质数组成的约数有 C0k 个,1个质数组成的有 C1k ……
所以, Σd|nμ(d)=C0kC1k+C2k...+(1)kCkk
由二项式定理可得,其值为 (11)k=0

莫比乌斯反演:
f(n)=Σd|ng(d)g(n)=Σd|nμ(d)×f(n/d)


勒让德公式(Legendre’s formula)

n! 能被素数 p 整除的次数(n! 质因素分解后,其因数 p 的指数)
vp(n!)=i=1npi

证明:
由于 n! 是从 1到 n的乘积
所以先计算对答案只能贡献一个 p 的数的个数 np
然后是能贡献两个 p 的数的个数 np2 …… 直至无穷


反素数(antiprime)

设 f(x)为 x的约数个数,若 x为反素数,则 1y<x f(y)<f(x)

约数个数为 n的最小的数,被称为反素数

反素数的性质:

  1. 反素数的质因子必须是从 2开始的连续质数
  2. 若反素数 x=pt11×pt22×pt33....
    p1<p2<p3... ,则 t1t2t3...

二次剩余方程

勒让德符号(Legendre Symbol)

a 为整数,p为奇素数, (ap) a 关于 p的勒让德符号

(ap)=1  ( pa , a modp的二次剩余)
(ap)=1  ( pa a 不是 modp的二次剩余)
(ap)=0  ( pa )

欧拉判别准则(Euler criterion)

p 是奇素数,且 pa (ap)=ap12

特例:
pa ,则准则依旧成立 (等式两边都等于 0)

证明:

  1. a modp的二次剩余,即 x2=a ,由费马小定理
    ap12=xp1=1=(ap) (modp)
  2. a 不是 modp的二次剩余,即不存在 x2=a ,由威尔逊定理
    (p1)!=1 ,将 1 p1的数两两配对,使其乘积 modp 等于 a
    由于 a不是 modp 的二次剩余,所以不存在与自身相配对的情况
    这样配对出来,正好有 p12
    所以 ap12=1 (modp)

性质:
pa pb ,则 (abp)=(ap)(bp)

参考资料:

二次同余方程的解
二次剩余Cipolla算法学习小记(这个比较详细)


线性时间求 [1,p-1] mod p的逆元

要求 i 的逆元,设 p=k×i+r,其中 r pmodi的余数,所以 r<i
所以 k×i+r=0 (modp)
两边乘以 i1r1 ,得 k×r1+i1=0 (modp)
所以 i 的逆元 i1=k×r1=pi×r1 (modp)
由于 r<i ,所以 r1 前面已经算过了,所以可以递推出来,复杂度 (p)

参考资料:

[数论]线性求所有逆元的方法


贝蒂(Beatty)定理

当两个正无理数 p q的倒数之和为 1
Bp={np}n1 Bq={nq}n1 正好构成了整数的划分
1p+1q=1
BpBq=
BpBq=+

例如黄金比例 p=1+52 q=3+52
1p+1q=1
Bp={1,3,4,6,8,9,11,12,14,16,17}
Bq={2,5,7,10,13,15,18,20,23,26}
这恰好是威佐夫博弈的前几个必败点

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值