整除性(Divisibility)
主要内容参考自《具体数学》第二版
什么叫整除性
如果\(m>0\)并且比值\(n/m\)是一个整数,我们就说\(m\)整除\(n\)(或者\(n\)被\(m\)整除)。这是一个非常重要的性质,是数论的重要基础。我们用一个符号来记
我们有一个类似的性质,"\(n\)是\(m\)的倍数",它表达的意义几乎一样,除了\(m\)不必取正数之外。在这种情况下,我们所指的就是对某个整数\(k\)有\(n=mk\)。这样一来,比如,如果只有一个数是\(0\)的倍数(\(0\)本身),但没有任何数能够被\(0\)整除。每个整数都是\(-1\)的倍数,但是严格来说,没有任何一个整数能被\(-1\)整除。当\(m\)和\(n\)是任何实数时,这些定义都适用。
两个整数\(n\)和\(m\)的最大公因子(greatest common divisor)是能整除它们两者的最大整数:
注意如果有\(n>0\),我们就有\(gcd(0,n)=n\),因为任何正数都整除\(0\),又因为\(n\)是它自身的最大因子。\(gcd(0,0)\)的值没有定义。
\(gcd\)的一个非常好的性质是它容易计算,可以使用欧几里得算法来计算它。为了对给定的值\(0\le m<n\)来计算\(gcd(m,n)\),欧几里得算法用到递归式:
例如,这样就有\(gcd(12,18)=gcd(6,12)=gcd(0,6)=6\)。所说的递归式成立,是因为\(m\)和\(n\)的任何公因子必定也是\(m\)和数\(n\ mod\ m\)(它等于\(n-\lfloor n/m\rfloor*m\))的公因子。
欧几里得算法还给我们更多的东西:我们可以对它加以推广,用它来计算满足
的整数\(m^\prime\)和\(n^\prime\)(\(m^\prime\)和\(n^\prime\)有可能是负的)。做法是:如果\(m=0\),我们直接就取\(m^\prime=0\)以及\(n^\prime=1\);反之就令\(r=n\ mod\ m\),并用\(r\)和\(m\)替换\(m\)和\(n\)再次应用这一方法来计算\(\bar{r}\)和\(\bar{m}\),使得
由于\(r=n-\lfloor n/m \rfloor m\)且\(gcd(r,m)=gcd(m,n)\),这个方程就告诉我们:
左边可以重新改写以表明它对\(m\)和\(n\)的依赖性:
自此,我们就得到\((25)\)式中\(m^\prime=\bar{m}-\lfloor n/m\rfloor \bar{r}\)和\(n^\prime=\bar{r}\)。例如\(m=12\)和\(n=18\)下,这个方法给出\(6=0\times0+1\times6=1\times6+0\times12=(-1)\times12+1\times18\)。
其有一个重要的推论是如下的小定理:
证明:如果\(k\)整除\(m\)和\(n\)这两者,它就整除\(m^\prime m+n^\prime n\),所以它整除\(gcd(m,n)\)。反过来,如果\(k\)整除\(gcd(m,n)\),它就整除\(m\)的一个因子和\(n\)的一个因子,所以它整除\(m\)和\(n\)这两者。
我们知道\(m\)和\(n\)的任何公因子必定小于或者等于它们的\(gcd\),这就是最大公因子的定义。但是我们现在知道,事实上任何公因子都是其\(gcd\)的一个因子。
有时候需要对\(n\)的所有因子求和。在这种情况下,方便的法则:
此式子成立是由于当\(m\)取遍\(n\)所有的因子时\(n/m\)也取遍\(n\)所有的因子。例如,当\(n=12\)时,这个法则给出\(a_1+a_2+a_3+a_4+a_6+a_{12}=a_{12}+a_6+a_4+a_3+a_2+a_1\)。
还有一个更一般的恒等式

浙公网安备 33010602011771号