资源描述
组合数学在数论中的应用实例
摘要:本文将组合数学中的容斥原理和递归关系应用到数论中,讨论了数组整除性的判定和整除的计数;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 +∑nk=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=133
a1=121×11+12×144=3059=133×23
a0和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+∑
n
k=1(-1)k∑1≤i1<i2<…<ik≤n Ai1∩Ai2∩…∩Aik
=N+∑
n
k=1(-1)k∑1≤i1<i2<…<ik≤nNlcm(ai1,ai2,…,aik)
3 Euler函数的计数和质数个数的计数
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+∑
m
k=1(-1)k∑1≤i1<i2<…<ik≤mnlcm(pi1,pi2,…,pik)
=n+∑
m
k=1(-1)k∑1≤i1<i2<…<ik≤mnpi1pi2…pik
=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+∑
m
k=1(-1)k∑1≤i1<i2<…<ik≤mnpi1pi2…pik
其中1是适合上述条件的一个数,但1不是质数,因此要减去1。p1,p2,…,pm这m个数不适合上述条
件。但它们又都是不大于n的质数,因此还要加上m。这样一来就可求出π(n)的值。
π(n)=m-1+n+∑
m
k=1(-1)k∑1≤i1<i2<…<ik≤mnpi1pi2…pik
例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个。
参考文献
1 R.A.Brualdi.组合学导引.华中理工大学出版社,1988
2 曹汝成.组合教学.华南理工大学出版社,2001
3 康庆德.组合数学趣话.河北科学技术出版社,1999
4 张奠宙.组合数学方兴未艾.广西教育出版社,2000
5 闵嗣鹤,严士健.初等数论.高等教育出版社,2000
展开阅读全文