陈 彬
(上海商学院文法学院数学教研室 201400)
为了方便及统一符号,本文中用N表示自然数集(即正整数集),Z表示整数集. 给定一个集合A,|A|表示集合A的基数. 对x∈R,[x]表示实数x的高斯取整,即不大于实数x的最大整数. 给定两个整数a,b,其中a≠0,a|b表示a能整除b,a⫮b表示a不能整除b.
2010年江苏省苏州市某高中在其二模数学考试填空题里(最后一道)出了这样一道函数题:假定一个函数f(x)在(0,+∞)上严格单调递增,且若n∈N,则f(n)∈N;又已知f(f(n))=3n,求f(5)=?
我们解答一下这道题目:首先,从最简单的情况着手.假设f(1)=k∈N,则f(k)=f(f(1))=3.由于f(x)在(0,+∞)上严格递增,所以1≤k≤3.很明显,k≠1,否则f(1)=1,且f(1)=3,矛盾.又易见k≠3,否则f(1)=3=f(3),这与f(x)严格递增矛盾.这样的话,k只能等于2.从而,f(1)=2且f(2)=3.
接着,比较自然地,f(3)=f(f(2))=6.f(4),f(5)似乎无法着手计算,尝试f(6).f(6)=f(f(3))=9.由函数的严格单调性,6=f(3) 我们阐述一下这道数列题目的思路及解决过程,还有其特殊之处. 首先,题中对象是函数,实际上该题是一道数列题,因为从头到尾都并未涉及到分数的性态或计算.因而,我们可以把题目修改得精简一些:假设一个数列{an}是严格单调递增数列,{an}⊆N,并且满足aan=3n,则a5=?或更平易近人一些,(题目)假设一个数列f(n)是严格单调递增数列,f(N)⊆N,并且满足f(f(n))=3n,则f(5)=? 其次,解题一开始须从最简单的情况入手.这是因为,要直接看出f(5)如何由条件所得,是有一定的困难的,无从下手,只得尝试从最简单,自然数集的起始点1开始着手:计算f(1). 另外注意到,在计算f(1),f(2)的过程中,我们就已经把所有的条件都利用了一遍,不仅利用了数列的严格单调性,也利用了迭代关系式f(f(n))=3n,最后再利用了数列只能取到自然数的特性. 接着,计算f(3)是自然的,不仅要看到,算出f(1)和f(2)之后,自然要主动尝试计算f(3),而且注意到f(2)=3,结合迭代关系式f(f(n))=3n的使用是至关重要的. 然后呢? 显然是计算f(4),然后再算出f(5).如果这样的话,我们进行不下去了.我们已经算出,f(1)=2,f(2)=3,f(3)=6.我们知晓f(4)是个自然数,但已经无法利用迭代关系式直接计算出f(4),因为不存在自然数m让f(m)=4.那么要利用迭代关系式的话,我们应该计算f(6),然后再碰碰运气.f(6)=9,结合f(3)=6,自然会试图压迫出f(4)与f(5)的取值. 到这里,在解决这道题目上,我们利用了简化、尝试、猜想等一些手段和方法.实际上,对这道题目而言,我们还可以做更多的拓展和思考. 思考题1这样的数列是存在的么,并且是唯一的么? 有通项公式么? 思考题2计算数列在任意项的取值,如f(100),f(500)等,这依赖于问题1,需要我们对题干数列的性质有更进一步的认识. 思考题3这道题目的难度有多大?还有关于题目自身,其完备化、扩张化或一般化,有推广的价值空间么? 我们就这些问题细细讨论一番. 为了方便书写证明过程,我们如法炮制原题目的方法过程,并计算出题设数列的一系列取值,列表如下: n123456789101112131415161718f(n)236789121518192021222324252627n192021222324252627282930313233343536f(n)303336394245485154555657585960616263 经过多次计算后,我们猜想这个数列是唯一存在的一个数列.我们发现,对某一些项的项数与取值有一定的倍数关系.一方面,f(1)=2,f(3)=6,f(9)=18,f(27)=54等这部分内容呈现出来的规律是,因变量是自变量的两倍;另一方面,f(2)=3,f(6)=9,f(18)=27,f(54)=81这一部分所呈现出来的规律是,因变量是自变量的1.5倍.鉴于这些观察,我们(不完全)归纳出如下的引理1. 引理1若数列f(n)是严格单调递增数列,f(N)⊆N,并且满足对∀n∈N,都有f(f(n))=3n,则对∀n∈N∪{0},总有f(3n)=2·3n,从而同时有f(2·3n)=3n+1. 证明数学归纳法.首先,经过前述计算,n=0或1时,f(30)=f(1)=2=2·30,f(31)=f(3)=6=2·31.假设当n=k(≥2)时,命题成立即f(3k)=2·3k;此时f(2·3k)=f(f(3k))=3k+1.从而,当n=k+1时,f(3k+1)=f(f(2·3k))=2·3k+1.结论成立.因此,对∀n∈N∪{0},总有f(3n)=2·3n,从而同时总有f(2·3n)=f(f(3n))=3n+1. 注1通过经验主义(观察、不完全归纳),我们猜想出题设数列在特定两类项上取值的一般规律,然后用数学归纳法给出了严格的证明.接下来,我们将利用这两类项把自然数列进行有效的一般划分. 注意到,对∀m,n∈Z,m 为了方便叙述,我们给出划分(也称分解)的定义. 例如,{[n,n+1):n∈N},{[2n-1,2n):n∈N}就是N的两个划分.一般地,给定一个严格增加且取值为自然数的序列{an},则{[an,an+1):n∈N}就是N的一个划分. 注意到,{[3n,2·3n),[2·3n,3n+1)|n∈N∪{0}}是自然数集N的一个划分.要求出数列f(n)的通项公式,只要分别求出在这些区间范围内对应的取值即可. 引理2若数列f(n)是严格单调递增数列,f(N)⊆N,并且满足对∀n∈N,都有f(f(n))=3n,则数列f(n)在每一个区间[3n,2·3n)上相邻自然数的取值也是相邻的(相差1).进一步,∀k∈[1,3n),总有f(3n+k)=2·3n+k. 证明数学归纳法.我们已经计算出,f(3n)=2·3n,f(2·3n)=3n+1.自变量区间[3n,2·3n)恰含2·3n-3n=3n个自然数,而取值区间[2·3n,3n+1)也恰含3n+1-2·3n=3n个自然数.由数列的严格单调性及f(N)⊆N,显然∀k∈[1,3n),总有f(3n+k)=2·3n+k. 由引理2,∀k∈N,k<3n,总有f(2·3n+k)=f(f(3n+k))=3(3n+k).从而有引理3,叙述如下. 引理3若数列f(n)是严格单调递增数列,f(N)⊆N,并且满足对∀n∈N,都有f(f(n))=3n,则数列f(n)在每一个区间[2·3n,3n+1)上相邻自然数的取值相差3.进一步,即∀k∈[1,3n),总有f(2·3n+k)=3(3n+k). 结合引理1、2、3,我们可以得到数列任意一项的取值,并且稍微作一下变量替换,很容易得出数列的通项公式,写成定理如下. 定理1若数列f(n)是严格单调递增数列,f(N)⊆N,并且满足对∀n∈N,都有f(f(n))=3n,则这个数列是存在且唯一的,其通项公式为 这样我们解决了第一道思考题.这个数列存在并且是唯一的,其通项公式是可以写出来的. 通项公式写出来,就可以着手计算数列在任意一项处的取值.例如f(100),先看100在哪个区间内,3n≤100<2·3n,可以得出n=4,从而f(100)=100+34=181.例如f(500),先看500在哪个区间内,2·3n≤500<3n+1,可以得出n=5,从而f(500)=3(500-35)=771.由通项公式,我们实际上可以计算出数列的任意项. 这样的话,第二道思考题也被我们解决了. 我们看到,在求出数列的通项公式的过程中,题干的所有条件都受到了充分的运用.归纳、演绎、猜想这些方法使用在其中不停地发挥各自的作用.2 数列的存在唯一性