当前位置:文档之家› 组合数学在数论中的应用实例

组合数学在数论中的应用实例

组合数学在数论中的应用实例摘要:本文将组合数学中的容斥原理和递归关系应用到数论中,讨论了数组整除性的判定和整除的计数;Euler函数的计数和质数个数的计数问题。

关键词:容斥原理;递归关系;整除;Euler函数;质数我们知道,在组合数学中,容斥原理(又称包含排斥原理)和递归关系是解决组合计数问题的一个重要工具和方法。

将这一重要工具和方法应用到数论中,对于数组整除性的判定和整除的计数;Euler函数的计数和质数个数的计数,都会带来很大方便。

下面,首先简要介绍容斥原理、常系数线性齐次递归关系的建立和迭代解法,然后给出几个应用实例。

1容斥原理与常系数线性齐次递归关系简介1.1容斥原理设S是有限集合,Ai S(i=1,2,…,n,n≥2)则∪ni=1Ai =( A1 + A2 +…+ An )-( A1∩A2 + A1∩A3 +…+ An-1∩An )+…+(-1)n-1 A1∩A2∩…∩An=∑nk=1(-1)k-1∑1≤i1<i2<…<ik≤n Ai1∩Ai2∩…∩Aik 这就是容斥原理。

显然,容斥原理也可以写成S-∪ni=1Ai = S +∑n k=1(-1)k∑1≤i1<i2<…<ik≤n Ai1∩Ai2∩…∩Aik 容斥原理还有另一种叙述形式,即设S是有限集合,P1,P2,…,Pn是n个性质,Ai是S中具有性质Pi的元素的集合,A-i是S 中不具有性质Pi的元素的集合(以上i=1,2,…,n)。

对于任意k(1≤k≤n)个正整数i1,i2,…,ik(1≤i1<i2<…<ik≤n), Ai1∩Ai2∩…∩Aik 表示S中同时具有性质Pi1,Pi2,…,Pik的元素个数, A-1∩A-2∩…∩A-n 表示S中不具有性质P1,P2,…,Pn中任何一个性质的元素个数,即A-1∩A-2∩…∩A-n = S +∑nk=1(-1)k∑1≤i1<i2<…<ik≤n Ai1∩Ai2∩…∩Aik 1.2常系数线性齐次递归关系的解法设{an}n≥0是一数列,通项an与其前面若干项的关系式通常称为关于该数列通项的一个递归关系。

设c1,c2,…,ck是k个常数,且ck≠0,则递归关系an=c1an-1+c2an-2+…+ckan-k(n≥k)称为k阶常系数线性齐次递归关系。

称方程xk=c1xk-1+c2xk-2+…+ck-1x+ck为此递归关系的特征方程。

由代数基本定理,这个k次方程在复数域内有k个根。

设q1,q2,…,qt为其全部不同的根,重数分别是r1,r2,…,rt(显然r1+r2+…+rt=k),则此数列的通项为: an=(b11+b12n+…+b1r1nr1-1)qn1+(b21+b22n+…+b2r2nr2-1)qn2+…+(bt1+bt2n+…+btrtnrt-1)qnt其中诸bij(共有k个)是待定系数,只需将数列{an}开始的k项初值代入即可确定出这些系数,从而最终得到数列{an}的通项公式。

反之,由数列{an}的通项公式也可求出关于an的递归关系式。

2数列{an}n≥0的整除性的判定和整除的计数整除性的判定是数论中经常遇到的问题。

在数论中利用同余理论去解答此类问题是常用的方法之一。

本文主要讨论数列{an}n≥0的各项可被某一整数整除的判定问题。

利用递归关系的解法,可以给出上述问题的解答。

读者可以通过下面的例题举一返三总结出解答此类问题的方法。

例1:证明数列{an}n≥0={11n+2+122n+1}的各项能被133整除。

证法1:利用数论中的同余理论证明由于133等于两个质数7和19的乘积,因此只要11n+2+122n+1能被7和19整除,则一定能被133整除。

通项an可写成为an=11n+2+122n+1=121×11n+12×144n。

因为121≡7,144≡11(mod19),所以11n+2+122n+1≡7×11n+12×11n≡19×11n≡0(mod19),即19 11n+2+122n+1。

而121≡2,11≡4,12≡5,144≡4(mod7),所以11n+2+122n+1≡2×4n+5×4n≡7×4n≡0(mod7),即7 11n+2+122n+1。

从而得到133 11n+2+122n+1。

证毕证法2:利用递归关系的解法证明因为an=11n+2+122n+1=121×11n+12×144n,而11+144=155,11×144=1584所以x1=11,x2=144是方程x2-155x+1584=0的两个根,从而有递归关系an=155an-1-1584an-2(n≥2)又因为a0=121+12=133a1=121×11+12×144=3059=133×23a0和a1都能被133整除,由递归关系式可知an(n=0,1,2,…)均能被133整除。

证毕·7·我们还可以利用容斥原理去解决一个整除的计数问题。

设a1,a2,…,an及N都是正整数,如何计算出从1到N的N个整数中同时能被a1,a2,…,an中某几个指定的数整除的整数个数;以及不能被a1,a2,…,an中的任何一个整除的整数个数呢?容斥原理直接给出了这个问题的解答。

令S={1,2,…,N},设s∈S。

若ai s,则称s具有性质pi,又设Ai是S中具有性质Pi的元素集合,A-i 是S中不具有性质Pi的元素集合(以上i=1,2,…,n)。

显然, Ai1∩Ai2…∩Aik 就是S中同时具有性质Pi1,Pi2,…,Pik的元素个数,(以上1≤i1<i2<…<ik≤n,1≤k≤n),而A-1∩A-2∩…∩A-n 就是S中不具有性质P1,P2…,Pn中任何一个性质的元素个数。

由于一个整数能同时被ai1,ai2,…,aik整除当且仅当这个整数能被它们的最小公倍数lcm(ai1,ai2,…,aik)整除,所以Ai1∩Ai2∩…∩Aik =Nlcm(ai1,ai2,…,aik)上式中Nlcm(ai1,ai2,…,aik)表示其值为不大于Nlcm(ai1,ai2,…,aik)的最大整数。

由容斥原理可得出A-1∩A-2∩…∩A-n =N+∑nk=1(-1)k∑1≤i1<i2<…<ik≤n Ai1∩Ai2∩…∩Aik=N+∑nk=1(-1)k∑1≤i1<i2<…<ik≤nNlcm(ai1,ai2,…,aik)3Euler函数的计数和质数个数的计数Euler函数是数论中的一个重要函数。

设n为自然数,以φ(n)表示不大于n且与n互质的自然数个数,这个φ(n)就称为Euler函数。

例如φ(12)=4,φ(13)=12,φ(36)=12。

若P为质数,则显然有φ(P)=P-1。

若n是一个较大的合数,则φ(n)的计数就不那么容易了。

然而,利用容斥原理φ(n)的计数问题就可以很快得到解决。

设n(n≥2)为自然数,P1,P2,…,Pm是n的全部质因数,r是任一不大于n的自然数。

r与n互质当且仅当r不能被P1,P2,…,Pm中的任一个整除。

因此,φ(n)等于由1到n的n个整数中不能被P1,P2,…,Pm中的任一个整除的整数个数。

由容斥原理可直接得到φ(n)=n+∑mk=1(-1)k∑1≤i1<i2<…<ik≤mnlcm(pi1,pi2,…,pik)=n+∑mk=1(-1)k∑1≤i1<i2<...<ik≤mnpi1pi2 (i)=n-np1+np2+…+npm+np1p2+np1p3+…+npm-1pm+…+(-1)mnp1p2…pm=n1-1p11-1p2…1-1pm利用这一结果,可以很容易验证φ(12)=4,φ(13)=12,φ(36)=12。

设n是自然数,以π(n)表示不大于n的质数的个数。

虽然目前尚未找到π(n)的计数公式,但是利用容斥原理我们可以得到一种求π(n)的方法。

设p1,p2,…,pm是不大于n的全部质数。

令S={1,2,…,n},任取s∈S,由数论知识可知,s是质数当且仅当要么s是p1,p2,…,pm中之一;要么s≠1且不能被p1,p2,…,pm中的任一个整除。

由容斥原理,S中不能被p1,p2,…,pm中的任一个整除的整数个数是n+∑mk=1(-1)k∑1≤i1<i2<...<ik≤mnpi1pi2 (i)其中1是适合上述条件的一个数,但1不是质数,因此要减去1。

p1,p2,…,pm这m个数不适合上述条件。

但它们又都是不大于n的质数,因此还要加上m。

这样一来就可求出π(n)的值。

π(n)=m-1+n+∑mk=1(-1)k∑1≤i1<i2<...<ik≤mnpi1pi2 (i)例2:求π(42)解:不大于42的全部质数有3个:2,3,5,所以π(42)=3-1+42-422+423+425+422×3+422×5+423×5-422×3×5=13经验证知,不大于42的质数有2,3,5,7,11,13,17,19,23,29,31,37,41,共13个。

参考文献1R.A.Brualdi.组合学导引.华中理工大学出版社,19882曹汝成.组合教学.华南理工大学出版社,20013康庆德.组合数学趣话.河北科学技术出版社,1999 4张奠宙.组合数学方兴未艾.广西教育出版社,2000 5闵嗣鹤,严士健.初等数论.高等教育出版社,2000。

相关主题