关于数论的知识整理——待更新
一.整除
性质:
- 如果$a\mid b$且$b\mid c$,则$a\mid c$
- 若$a\mid b$且$a\mid c$,则对于任意整数$x,y$有$a\mid (b*x+c*y)$
- 若$a\mid n,b\mid n$且$gcd(a,b)==1$,则$(a*b)\mid n$
- 若$a\mid n,b\mid n$,则$(a*b/gcd(a,b))\mid n$ (因为$gcd(a,b/gcd(a,b))==1$)
二.同余
性质:
- 自反性:$a\equiv a(mod\ m)$
- 对称性:若$a\equiv b(mod\ m)$,则$b\equiv a(mod\ m)$
- 传递性:若$a\equiv b(mod\ m)$,$b\equiv c(mod\ m)$,则$a\equiv c(mod\ m)$
- 同加性:若$a\equiv b(mod\ m)$,则$a+c\equiv b+c(mod\ m)$
若$a\equiv b(mod\ m)$,$c\equiv d(mod\ m)$,则$a+c\equiv b+d(mod\ m)$ - 同乘性:若$a\equiv b(mod\ m)$,则$a*c\equiv b*c(mod\ m)$
若$a\equiv b(mod\ m)$,$c\equiv d(mod\ m)$,则$a*c\equiv b*d(mod\ m)$ - 同幂性:若$a\equiv b(mod\ m)$,则$a^c\equiv b^c(mod\ m)$
- 若$a\equiv x(mod\ p)$,$a\equiv x(mod\ q)$且$(p,q)$互质,则$a\equiv x(mod\ p*q)$
证明:$a*q\equiv x*q(mod\ p*q)$且$a*p\equiv x*p(mod\ p*q)$
则$a*(q-p)\equiv x*(q-p)(mod\ p*q)$
进一步可以得出$a*(q\%p)\equiv x*(q\%p)(mod\ p*q)$
如此反复取模可以得出$a*(gcd(q,p))\equiv x*(gcd(q,p))(mod\ p*q)$
三.最大公约数
求法
- 辗转相除法:
原理gcd(a,b)=gcd(a-b,b).(a>b)int gcd(int a,int b){ return b?gcd(b,a%b):a; }
- Stein算法
思想:- 如果$x==0$,则$gcd(x,y)=y$
- 如果$y==0$,则$gcd(x,y)=x$
- 如果$x,y$都为偶数,则$gcd(x,y)=2*gcd(x/2,y/2)$
- 如果$x$为偶数,$y$为奇数,则$gcd(x,y)=gcd(x/2,y)$
- 如果$y$为偶数,$x$为奇数,则$gcd(x,y)=gcd(x,y/2)$
- 如果$x,y$都为奇数,则$gcd(x,y)=gcd(x-y,y)$