- 数学虽然有点枯燥,但是算法考到最后还是数学,计算机学到最后还是考验逻辑,没有逻辑、算法和数据结构的支撑学计算机是走不远的。
同余
- 整除和带余除法可以说是数论的基础。而同余则就是数论的重点中的重点。
同余的定义:
给定一个正整数,把它叫做模.如果用m去除任意两个整数a,b所得的余数相同,则称a,b模m同余,记作a≡b(mod m).如果余数不同,则称a,b对模m不同余,记作a≡b(mod m)
命题1:命题1在前面的练习1中多少也了解到
整数对模m的同余关系是一个等价关系,即(1)a≡a(mod m) (自反性)(2)若a≡b(mod m),则b≡a(mod m) (对称性)(3)若a≡b(mod m),b≡c(mod m),则a≡c(mod m) (传递性)
定理1:
整数a,b对模m同余的充要条件是m∣a−b,即a=b+mt,t∈Z
命题2:命题2得到的就是同余的加减运算
(1)若a1≡b1(mod m),a2≡b2(mod m),则a1+a2≡b1+b2(mod m);(2)若a+b≡c(mod m),则a≡c−b(mod m)
命题3:命题3得到的是同余的乘法运算
若a1≡b1(mod m),a2≡b2(mod m),则a1a2≡b1b2(mod m)特别地:(1)若a≡b(mod m),则ak≡bk(mod m)(2)若a≡b(mod m),则an≡bn(mod m)
命题4:
若a≡b (mod n)且a=a1d,b=b1d,(d,m)=1,则a1≡b (mod m)
命题5:
(1)若a≡b (mod m),k>0,则ak≡bk (mod mk)(2)若a≡b (mod m),d是a,b及m的任意正公因数,则da≡db (mod dm)
命题6:
若a≡b (mod mi),i=1,2,3,⋅⋅⋅,k则a≡b(mod [m1,m2,m3,⋅⋅⋅,mk])
命题7:
若a≡b ( mod m),d∣m且d>0,则a≡b(mod d)
命题8:
若a≡b ( mod m),则(a,m)=(b,m)因而若d能整除m及a,b二数之一,则d必能整除a,b中的另一个
定理2:
若Aα1⋅⋅⋅A
剩余类及完全剩余系
定义1(剩余类和完全剩余系):
定理1中的K0,K1,...,Km−1叫做模m的剩余类,一个剩余类中任一数叫做它同类的数的剩余,若a0,a1,...,am−1是m个整数,并且其中任何两个数都不在同一个剩余类中,则a0,a1,...,am−1叫做模m的一个完全剩余系
定义2:
0,1,...,m-1
这m个整数叫做模m的最小非负完全剩余系。
当m是偶数时−2m,...,−1,0,1,...,2m−1或者是−2m+1,....,−1,0,1,.....,2m−1叫做模m的绝对最小完全剩余系。
当m是奇数时−2m−1,...,−1,0,1,...,2m−1叫做模m的绝对最小剩余系
注解:这里的最小表示间隔最小,绝对表示的值最小
定理1:
设m∈Z+,则全部整数可以分成m
个集合,记作K0,K1,...,Km−1,其中Kr(r=0,1,,...,m−1)是由一切形如qm+r,q∈Z的整数组成的,这些集合具有下列性质
- 每一个整数必须包含而且仅在上述的一个集合里面
- 两个整数同在一个集合的充要条件是这两个整数对模
m
同余
定理2:
设m∈Z+,(a,m)=1,b∈Z,若x通过模m的一个完全剩余系,则ax+b也通过模m的完全剩余系。也就是说若x0,x1,...,xm−1是模m的完全剩余系,则ax0+b,ax1+b,...,axm−1+b也是模m的完全剩余系
定理3:
若m,n是互素的两个正整数,而x,y分别通过模m,n的完全剩余系,则nx+my通过mn的完全剩余系。
注解:nxi+myr,i∈{0,1,...,m−1},r∈{0,1,...,n−1},只有每个都计算后它的个数才会是mn。
既约剩余系与欧拉函数
欧拉函数的定义:
设n∈Z+,在0、1、2、...、n-1
中与n
互素的数的个数叫做n
的欧拉函数,记作ϕ(n)
注意:欧拉函数是Z+→Z+的函数,前面是该函数的定义域,后面称为陪域。
既约剩余系的定义:
如果一个模m
的剩余类里面的数与m
互素,就把它叫做一个与模m互素的剩余类,在与模m
互素的全部剩余类中,从每一个各任取一数所作成的数的集合,叫做m
的一个既约剩余系
例子1:对于m=10
来说,1、3、7、9
是与10
互素的,所以10
的一个既约剩余系其实就是集合{1,3,7,9}
例子2:对于m=11
来说,1~10
都是与11
互素的,所以11
的一个既约剩余系其实就是集合{1,2,3,4,5,6,7,8,9,10}
命题1:
设n∈Z,则(1,n)=1,(n−1,n)=1
命题2:
设ϕ(n)是欧拉函数,则有如下性质:
- ϕ(n)=1,当且仅当n=1,2
- ϕ(n)≥2,当且仅当n≥3
- 欧拉函数ϕ(n)不是单调函数
- 若p是素数,则ϕ(p)=p−1
- 若p是素数,则ϕ(pn)=pn−pn−1
- 设a=p1α1p2α2...pkαk,则ϕ(a)=a(1−p11)(1−p21)...(1−pk1)
欧拉定理、费马定理及其对循环小数的应用
定理1(欧拉定理):
设m是大于1的整数,(a,m)=1,则aϕ(m)≡1 ( mod m)
推理1(费马小定理):
若p是素数,则ap=a mod( m),或者ap−1≡1 mod( m)
RSA体制