Zth's Blog

记录学习路上的点滴

0%

数论学习笔记1

跟着《算法竞赛进阶指南》学习数论知识做的笔记

之前的那个数论定理只是单纯的记了一下公式, 很多公式并不知道是怎么推出来的, 所以重新学习一遍

算术基本定理的推论

推论

如果算数基本定理中N=p1b1p2b2pmbm, 其中p为质数, 设N的约数和为S, 则有

S=(1+p1+p12++p1b1)××(1+pm+pm2++pmbm)=Πi=1m(j=0ci(pi)j)

证明类似于高中的二项式展开, 这样展开从每个括号里选一个数出来相乘就包括了N的全部约数

题目

给出1A,B5×107, 求AB的所有约数和 mod 9901

欧拉函数

ϕ()

定义

ϕ(N)1N中和N互质的数的个数, 即gcd(x,N)=1,1xNx的个数

计算

如果算数基本定理中N=p1b1p2b2pmbm, 其中p为质数, 则

ϕ(N)=Πi=1m(11pi)

证明

1Np1的倍数有Np1个, p2的倍数有Np2个, 去掉这两个数的倍数得到的结果多除了既是p1的倍数也是p2的倍数的数, 有Np1×p2个, 所以1N中不和N含有共同质因子p1,p2的数的个数为

NNp1Np2+Np1×p2=N×(11p11p2+1p1×p2)=N×(11p1)(11p2)

对于三个质因子及以上的情况要用到容斥原理, 也类似于高中二项式的展开

一些性质

性质1

内容

任意n>11n中与n互质的所有数的和为ϕ(n)×n/2

证明

由于gcd(n,x)=gcd(n,nx), 与n互质的x,nx是成对出现的, 每一对的和为n, 由于与n互质的数一共有ϕ(n)个, 所以总共的和为ϕ(n)×n/2

性质二

内容

p为质数, 若p|n,p2|n, 则ϕ(n)=ϕ(n/p)×p; 若p|n但是p2不能整除n, 则ϕ(n)=ϕ(n/p)×(p1)

证明

  1. p2|n

    因为p2|n, 所以n/p必然含有质因子p, 所以nn/p含有完全相同的质因子, 那么有

    ϕ(n)=n×(11p)
ϕ(np)=np×(11p)

显然有ϕ(n)=ϕ(n/p)×p

  1. p2不整除n

    这种情况下n/pp是互质的, 根据积性函数性质得ϕ(n)=ϕ(n×np)=ϕ(np)×ϕ(p)=ϕ(np)×(p1)

性质三

内容

dnϕ(d)=n

证明

首先证明f(n)=dnϕ(d)是一个积性函数, 设n,m互质, 则有

f(nm)=dnmϕ(d)=(d1nϕ(d1))×(d2mϕ(d2))=f(n)×f(m)

第二个等号的转换由乘法分配律得到, 因为n,m互质, 所以必然gcd(d1,d2)=1,ϕ(d)=ϕ(d1)×ϕ(d2)nm的所有因子d都可以由d1×d2得到, 展开该式就能得到所有的d

对于n的一个质因子p, 由性质二有

(1)f(pm)=dpmϕ(d)=ϕ(1)+ϕ(p)+ϕ(p2)++ϕ(pm)(2)=1+(p1)+(p1)×p+(p1)×pm1(3)=pm

若在算数基本定理中有n=p1m1p2m2pbmb, 则有

(4)f(n)=f(p1m1p2m2pbmb)(5)=f(p1m1)f(p2m2)f(pbmb)(6)=p1m1p2m2pbmb(7)=n

得证

同余类与剩余系

定义

对于a[0,m1], 集合{a+km}的所有数模m同余, 余数都是a。 该集合称为一个模m的同余类, 记为a

m同余类一共有m个, 分别为0,1,,m1, 它们构成m的完全剩余系

1m中与m互质的数代表的同余系有ϕ(m)个, 它们构成m的简化剩余系

简化剩余系

性质

简化剩余系关于模m乘法封闭

证明

a,b均与m互质, 则a×b(1a,bm)也必然与m互质, 则gcd(a×b,m)=gcd(m,(a×b)%m)=1, 即(a×b)%m也与m互质, 即(a×b)%m也属于m的简化剩余系

欧拉定理

内容

若正整数a,n互质, 则aϕ(n)1 (mod n)

证明

n的简化剩余系为{a1,a2,aϕ(n)},对ai,aj, 如果a×aia×aj (mod n), 则有a×(aiaj)0(mod n), 因为a,n互质, 得到aiaj0 (mod n), 即aiaj (mod n)。故当aiaj时, a×ai,a×aj也代表了不同的同余类

又因为简化剩余系关于n乘法封闭, 故aai也在简化剩余系中, 因此集合{a1,a2,,aϕ(n)}{aa1,aa2,,aaϕ(n)}都能表示n的简化剩余系

由上可得

aϕ(n)a1a2aϕ(n)(aa1)(aa2)(aaϕ(n))a1a2aϕ(n) (mod n)

所以aϕ(n)1 (mod n)得证

推论

内容

若正整数a,n互质, 则对于任意正整数b, 有abab mod ϕ(n) (mod n)

证明

显然, 因为之前证明过了aϕ(n)1 (mod n)

费马小定理

内容

p是质数, 则对于任意整数a, 有apa (mod p)

证明

由欧拉函数得若a,p互质, 则aϕ(p)1 (mod p), 现在p是质数, ϕ(p)=p1, 所以有ap11 (mod p), 即apa (mod p)

拓展欧几里得算法

贝组定理

内容

对于a,b, 存在一对整数x,y, 使得a×x+b×y=gcd(a,b)

证明

在欧几里得算法的最后一步有b=0, 此时显然有a×1+0×0=gcd(a,0)

b>0, 则有gcd(a,b)=gcd(b,a mod b), 假设存在一对正整数x,y满足b×x+(a mod b)×y=gcd(b,a mod b)

则有

(8)b×x+(a mod b)×y(9)=b×x+(aab×b)×y(10)=a×y+b×(xab×b)

x1=y,y1=xab×b就得到了a×x1+b×y1=gcd(a,b)

推论

  1. 方程a×x+b×y=c有解, 当且仅当gcd(a,b)c

  2. 方程a×x+b×y=c的通解为

    x=cgcd(a,b)x0+kbgcd(a,b)y=cgcd(a,b)y0kagcd(a,b)

    其中x0,y0为拓展欧几里得求出的一组特解