调和级数是指无穷级数1 + 1/2 + 1/3 + 1/4 + …,即取遍所有正整数n所得到的Σ1/n。虽然n趋于无穷时1/n趋于0,但这个无穷级数却是发散的。一个经典的证明是,把1/3和1/4都缩小到1/4,把1/5、1/6、1/7和1/8都缩小成1/8,把1/9到1/16这8个数全部缩小为1/16,以此类推,这样就可以得到无穷多个1/2,它们的和显然是无穷大的。
现在,让我们把所有的质数划分为若干个子集,其中质数p属于编号为floor(p/1000)的那个子集(floor()是取下整的意思)。现在,你可以用这样的方式来定义一个“部分的”调和级数:先选出一些质数集合出来,然后列出所有这样的数,它所有的质因子都落在你选的集合里。显然,这样的数有无穷多个,它们的倒数和就形成了一个部分调和级数。例如,选择子集①和子集②,我们可以得到一个无穷级数Σ1/n,其中n取所有这样的数,它可以表示为大于等于1000小于3000的质数的乘积。
前面我们已经看到,选择所有的集合所构成的无穷级数是发散的。现在的问题是,要想得到一个发散的级数,最少需要选取多少个集合?
答案或许会出乎你的意料:无穷多个。为了使所得的无穷级数发散,你必需选择无穷多个集合。事实上,任意选出有限个质数,由它们生成的所有数的倒数之和都是收敛的。
首先注意到,对取出的所有质数p,分别算出p/(p-1)的值,然后把所有的p/(p-1)累乘起来(即Πp/(p-1),p取遍选出的每个质数),最后的结果应当是有限的。而p/(p-1) = 1 + 1/p + 1/p^2 + 1/p^3 + …。容易想到(但并不严谨!),对于不同的p值,把p/(p-1)乘起来就相当于把等号右边的无穷级数乘起来,而将这些无穷级数的乘积展开来,得到的无穷级数正是由所选的质数所生成的部分调和级数。
题目来源:http://www.brand.site.co.il/riddles/200804q.html