一,整数的整除性
定义:设a,b是两个整数,其中,b!=0,如果存在一个整数q,使得a=q*b,则称b整除a,或者说a能被b整除,记为b|a,b为a的因子,而a为b的倍数。
如果满足上式的q不存在的话,那么说,b不能整除a,或者说a不能被b整除,记为a|\(符号不好打)b。
定理1.1 设a,b,c为为整数,则
(1),如果a是b的倍数,b是c的倍数,则a是c的倍数。即b|a,c|b,那么c|a。
简单证明:a=k1*b,b=k2*c,将后面的式子带入前面的得到,a=k1*k2*c。可知k1,k2都为整数,所以c|a。
(2),如果a,b是c的倍数,那么a±b是c的倍数。
简单证明:a=k1*c,b=k2*c那么a±b=(k1±k2)*c,所以c|(a±b)。
(3),如果b|a,且a|b,那么a=±b。
简单证明:b|a就是a=k1*b,a|b就是b=k2*a,将前面的式子带入后面的得到b=k1*k2*b,得k1*k2=1;得k1=±1,k2=±1。
(4),设m!=0,b|a,那么mb|ma。
简单证明:a=k1*b,m*a=m*k1*b也是成立的。
例题:设a,b是给定的两个整数,并且存在整数x,y,使得a*x+b*y=1,如果有a|n,b|n,则a*b|n。
证明:n=k1*a,n=k2*b,
根据题意,n=n*1=n*(a*x+b*y)=n*a*x+n*b*y=k2*b*a*x+k1*a*b*y=a*b*(k2*x+k1*y)。
所以,a*b|n。
定理1.2 (剩余定理) 如果a,b是两个整数,b!=0,则存在唯一的整数对q,r,使得a=b*q+r,0<=r<b。
可以证明q,r是存在的并且是唯一的。
二,公因数
定义:设a,b是两个整数,如果存在d,使得d|a,d|b,那么称d为a,b的公因子。
一般的,设ai(1<=i<=k)是k个整数,如果d|ai,那么称d为ai公因子。d一定存在(可以取1)。
定义:设ai(1<=i<=k)是k个整数,则称ai的公因子中的最大的位最大公因子,记为(a1,a2,....ak)。特别的,如果(a1,a2,.....ak)=1,就称k个整数ai互素(互质)。
如果整数ai(1<=i<=k),两两互素,那么(a1,a2,.....ak)=1,反之则不然。也就是说,(a1,a2,a3.....ak)=1,ai不一定就是两两互素的。
定理1.3 设ai(1<=i<=k)是k个整数,则ai的公因数与|ai|的公因子相同。特别的(a1,a2,a3.....ak)=(|a1|,|a2|....|ak|)。
定理1.4 (0,b)=|b|。0和任意整数的最大公因子为该整数的绝对值。
定理1.5 设a,b,c是三个非零整数,且a=b*q+c,其中q是整数,则a,b与b,c有相同的公因子。特别的(a,b)=(b,c)。根据辗转相除法就可以得到。
最大公约数求法(欧几里得算法,也称为辗转相除法):
简单来说,就是gcd(a,b)=gcd(b,a%b)。
简单证明:
设a>b,a=q*b+r,(0<=r<b)。
gcd(a,b)=gcd(a-b,b)=gcd(a-2*b,b)=.....gcd(a-q*b,b)=gcd(r,b)=gcd(b,r)。
那么问题就转化为求gcd(b,r),b=q1*r+r1,(0<=r1<r)。
同样可以转化为求gcd(r,r1),的问题。
依次类推gcd(a,b)=gcd(b,r)=gcd(r,r1)=gcd(r1,r2)=gcd(r2,r3)=.......gcd(rn-1,rn)。
可以知道,r>r1>r2>r3>r4.....rn肯定会有rn=0可以的到gcd(rn,rn+1)=rn。所以,就可以求得gcd(a,b)。
三,裴蜀恒定理。(得名与法国数学家艾迪安·裴蜀)
裴蜀恒等式:ax+by=gcd(a,b)。其中x,y是两个整数。
证明:
我们知道在求两个整数a,b的最大公约数时候。
gcd(a,b)=rn=rn-2-rn-1*q
rn-1=rn-3-rn-2*q1带入上式得,
gcd(a,b)=(1+q*q1)*rn-2-rn-3,
设x1=1+q*q1,y1=-rn-3。
依次类推,可以推出(相当于欧几里得的逆运算),当rn-2=a,rn-3=b,ax+by=gcd(a,b)。可以知道x,y为整数。求得x,y。
我们可以知道,该等式的解是不唯一的。
因为a*(x+k*b)+b*(y-k*a)=ax+by=gcd(a,b)。所以该等式的整数解是不唯一的。
一般的ax+by=m,当m是gcd(a,b)是倍数的时候,才会有整数解。
裴蜀等式的特殊情况:
当a,b互素的时候,ax+by=1才有解。
裴蜀恒等式还是可以推广到多个数的最大公约数:
对于任意的正整数a1,a2,a3,.....ak,存在整数x1,x2,x3....xk使得:
x1*a1+x2*a2+x3*a3+......xk*ak=gcd(a1,a2,a3.....ak)。