设a、b、m均为整数,若存在某个m使得a=mb成立,则称非零数b整除a。换言之,若b除a没有余数,则认为b整除a。b除a通常用b|a,我们说b是a的一个因子。
注:被除数÷除数=商。a除以b即a÷b。a÷b也可以说b除a。
(1)a|1,则a=±1
(2)若a|b且b|a,则a=±b
(3)任何不等于零的数整除0
(4)若a|b且b|c,则a|c
(5)对任意整数m,n,若b|g且b|h,则可得出b|(mg+nh)
(6)若b|g,则存在g₁,使得g可以表示为g=bg₁
若b|h,则存在h₁,使得h可以表示为h=bh₁
所以mg+nh=mbg₁+nbh₁=b*(mg₁+nh₁),得出b整除mg+nh
(下面证明欧几里得会用到)
对给定的任意一个正整数n和任意非负整数a,若用n除a,得到整数商q和整数余数r,则满足以下关系式。
a=qn+r,0≤r
欧几里得算法可以简单的求出两个正整数的最大公因子。
注:一个简单的定义:两个整数是互素的,当且仅当它们只有一个正整数公因子1。在看完下面的内容后,其实就是gcd(a,b)=1。
对于整数a,b,m,若满足a=mb,则称非零整数b是a的一个因子。我们用gcd(a,b)来表示a和b的最大公因子。a和b的最大公因子是能同时整除a和b的最大整数。另外,定义gcd(0,0)=0。
更正式的描述是,正整数c称为a和b的最大公因子,如果:
(1)c是a和b的因子
(2)a、b的因子都是c的因子
另一个等效的定义是:gcd(a,b)=max{k,满足k|a且k|b}
注1:因为要求最大公因子必须是正数,所以有gcd(a,b)=gcd(-a,-b)=gcd(-a,b)=gcd(a,-b)=gcd(|a|,|b|)
注2:因为0可以被所有非零整数整除,所以gcd(a,0)=|a|
欧几里得算法利用了gcd(a,b)=gcd(b,r).其中a÷b=q……r。那么,当r=0时,gcd(b,0)=|b|就求出了最大公因子。
那么,我们先举出两个例子,然后再来证明,为什么gcd(a,b)=gcd(b,r).
例1:求9和12的最大公因子
gcd(a,b)=gcd(b,r) 9÷12=0……9 gcd(9,12)=gcd(12,9)
gcd(a,b)=gcd(b,r) 12÷9=1……3 gcd(12,9)=gcd(9,3)
gcd(a,b)=gcd(b,r) 9÷3=0……0 gcd(9,3)=gcd(3,0)
而gcd(3,0)=3 所以9和12的最大公因子是3
例2:这次我们来算大一点的数,求1314和520的最大公因子
1314÷520=2…274 gcd(1314,520)=gcd(520,274)
520÷274=1……246 gcd(520,274)=gcd(274,246)
274÷246=1……28 gcd(274,246)=gcd(246,28)
246÷28=8……22 gcd(246,28)=gcd(28,22)
28÷22=1……6 gcd(28,22)=gcd(22,6)
22÷6=3……4 gcd(22,6)=gcd(6,4)
6÷4=1……2 gcd(6,4)=gcd(4,2)
4÷2=2……0 gcd(4,2)=gcd(2,0)
而gcd(2,0)=2 所以1314和520的最大公因子是2
1)我们要求整数a和b的最大公因子d;因为上文我们说gcd(a,b)=gcd(|a|,|b|)且ab的顺序并不影响,所以我们不妨设a≧b>0
2)使用带余除法,易得b|a可以表示为:a=q₁b+r₁, 0≦r₁ 3)1.若r₁=0,那么gcd(a,b)=gcd(b,r₁)=gcd(b,0)=|b|=b
2.若r₁≠0,d|r₁(因为d|a且d|b,所以d|a-q₁b,即d|r₁)
不妨设b和r₁的任意公因子为c,易得c|q₁b+r₁,即c|a,又c|b,所以c是a和b的公因子,又因为d是a和b的最大公因子,所以c≦d,所以d是b和r₁的最大公因子得证,即gcd(a,b)=gcd(b,r)
.
。