整除性(Divisibility)

主要内容参考自《具体数学》第二版

什么叫整除性

  如果\(m>0\)并且比值\(n/m\)是一个整数,我们就说\(m\)整除\(n\)(或者\(n\)\(m\)整除)。这是一个非常重要的性质,是数论的重要基础。我们用一个符号来记

\[m\mid n \Leftrightarrow m>0且对某个整数k有n=mk\\ 如果m不整除n,我们写成m\nmid n \]

  我们有一个类似的性质,"\(n\)\(m\)的倍数",它表达的意义几乎一样,除了\(m\)不必取正数之外。在这种情况下,我们所指的就是对某个整数\(k\)\(n=mk\)。这样一来,比如,如果只有一个数是\(0\)的倍数(\(0\)本身),但没有任何数能够被\(0\)整除。每个整数都是\(-1\)的倍数,但是严格来说,没有任何一个整数能被\(-1\)整除。当\(m\)\(n\)是任何实数时,这些定义都适用。
  两个整数\(n\)\(m\)最大公因子(greatest common divisor)是能整除它们两者的最大整数:

\[gcd(m,n)=max\{k\mid k\div m 且 k\div n \} \]

注意如果有\(n>0\),我们就有\(gcd(0,n)=n\),因为任何正数都整除\(0\),又因为\(n\)是它自身的最大因子。\(gcd(0,0)\)的值没有定义。
  \(gcd\)的一个非常好的性质是它容易计算,可以使用欧几里得算法来计算它。为了对给定的值\(0\le m<n\)来计算\(gcd(m,n)\),欧几里得算法用到递归式:

\[\begin{aligned} gcd(0,n)&=n\\ gcd(m,n)&=gcd(n\ mod\ m,m),m>0 \end{aligned} \]

例如,这样就有\(gcd(12,18)=gcd(6,12)=gcd(0,6)=6\)。所说的递归式成立,是因为\(m\)\(n\)的任何公因子必定也是\(m\)和数\(n\ mod\ m\)(它等于\(n-\lfloor n/m\rfloor*m\))的公因子。
  欧几里得算法还给我们更多的东西:我们可以对它加以推广,用它来计算满足

\[\begin{align} m^\prime m+n^\prime n=gcd(m,n) \end{align} \]

的整数\(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}\),使得

\[\bar{r}r+\bar{m}m=gcd(r,m) \]

由于\(r=n-\lfloor n/m \rfloor m\)\(gcd(r,m)=gcd(m,n)\),这个方程就告诉我们:

\[\bar{r}(n-\lfloor n/m\rfloor m)+\bar{m}m=gcd(m,n) \]

左边可以重新改写以表明它对\(m\)\(n\)的依赖性:

\[(\bar{m}-\lfloor n/m\rfloor \bar{r})m+\bar{r}n=gcd(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和k/n\Leftrightarrow k/gcd(m,n) \]

证明:如果\(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\)的所有因子求和。在这种情况下,方便的法则:

\[\sum\limits_{m/n}a_m=\sum\limits_{m/n}a_{n/m},整数n>0 \]

此式子成立是由于当\(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\)
还有一个更一般的恒等式

\[\sum\limits_{m/n}a_m=\sum\limits_k\sum\limits_{m>0}a_m[n=mk] \]

posted @ 2021-04-11 00:44  Daneii  阅读(1004)  评论(0)    收藏  举报