几类特殊分数
埃及分数
上面我们提到,古埃及人非常奇怪地只使用单分子分数,他们总是把普通的分数也都表示为单分子分数之和的形式。由于埃及人对单分子分数的这种钟爱,现在人们也常常把单分子分数称为埃及分数。下面,对如何用埃及分数之和的形式来表示普通分数,我们还有一些有趣的事要讲。
当然,如果实现这一点而没有任何限制的话,这就是一个极为简单的事情了,因为我们有一种最简单的方法就能做到这一点。
就像把m表示成m个1的和一样。不过,这种表示实在是太平凡了,平凡的没有任何意思。对于古埃及人来说,他们所想得到的已不是这种平凡的表示了。比如在莱特草纸上有如下的结果:
其实,将2/n型分数表成埃及分数如果没有其他要求的话,也根本不是什么难事,只需要找到建立分解式的办法即可。下面就是一种:
,由此即可得
不过,这一结果与古埃及人的结果并不相同。那么古埃及人到底是采用何种方法得到其结果的呢?人们对此的解答莫衷一是,还未能达成共识。这是数学史家要继续探讨的课题。
对于数学家来说,他们有着不同的探讨方向。他们首先考虑的问题是:是否任何一个真分数都可分解成有限个相异埃及分数之和呢?对此,中世纪的斐波那契就已创造出一种算法,给出了肯定的解答。利用他的算法,可以将化为不多于m个不同的单分子分数之和。
例如对2/97,可先求97/2=48.5,然后取第一项为1/49;2/97-1/49=1/4753,于是2/97=1/49+1/4753。用这种算法分解2/n型只需运算一回便可得出结果。不过,在应用这种方法时,计算过程中每一步选择的都可能是分母最大的分数,所以后来这一算法有了“贪心算法”的绰号。比如说5/121这个分数,如果运用这一算法分解的话,可分为五项,而最大分母值竟有25位数呢!此外,这种方法是否对任意分数都始终有效呢?斐波那契没有能回答这一问题。直到1880年英国数学家线性代数创始人之一西尔维斯特才第一次证明了这种贪心算法的始终有效性。
至此,对我们而言问题似乎已经被圆满解决了,但对数学家们来说,还远远没有。他们对分解的形式进一步提出特殊的要求,如他们考虑能否把分解的项数降到最少。下面我们看看在这方面数学家所做的文章。
项数最少当然是两项了。不过,对于某些真分数来说,两项是不够的。也就是说,存在一些分数如4/5不能分解为两个埃及分数之和。我们还可以举出前面的5/121作为例子。
1967年,布累策在自己的《数学游览》一书中给出比斐波那契算法好得多的结果:。1983年,我国一名学生给出:,另一名学生给出
这些分解方式在项数上都是三项。正如布累策在书中指出的:“无法将5/121表示为项数少于3项的式子。”所以上述分解在在项数上都是最优的。
可见,项数2虽然最少,但是在解决问题时不够用。上述的特例已说明了这一点。那么三项能不能行呢?
1950年,匈牙利数学家爱多什提出一个猜测,即对任何正整数n>4,方程,都有正整数解。1978年有人证明了对1亿之内的n值,即对于 n<108,这个猜想都是对的,但一般性证明至今尚无人给出。这竟然成了一个世界性难题。
与之类似,又有人提出猜想:可以分解为3个埃及分数之和。有人已证明对很大范围内的数是成立的。但一般性证明至今也是无人能够给出。
一个自然的更一般的问题于是被提出来:能否把任意真分数分解成3个埃及分数之和呢?如果答案是肯定的,那么在项数方面的最优性就算解决了。
不过,即便这一世界难题被解决了,数学家们还有自己需要考虑的问题。如在上面5/121的例子中我们已看到,有许多解答可以将其分解成三项,使得在项数上达到最优,但这几种分解方式的最大分母的值有大有小。那么,能否鱼与熊掌兼得,将分解式中的分母值也降到最小呢?5/121只是一个特例而已。对于一般的真分数,存在着同样的问题需要考虑,即:如何将分解式中的最大分母降到最小。这些最优分解问题都是数学家们正在研究的课题。
你看,增添了最优这样的限制后,就出现了如此多有趣的问题呢!实际上,除此外,1的分解、假分数的分解中也存在着众多的至今尚未解决的难题。因此,埃及分数至今仍然能够以其旺盛的生命力屹立在数论中,以它的内在奥妙吸引着无数专业数学工作者和业余数学爱好者,成为人们极感兴趣的问题。
小数
小数产生于分数之后,从某种角度而言,它不过是十进分数的一种简化的写法。因而,它不过是一类特殊的分数而已。但比起分数来,小数还有着其他的用处,它产生的历史也较分数晚得多、艰难得多。
在世界历史上,我国最早引入了十进小数。公元3世纪,刘徽注《九章算术》时遇到了开方开不尽的情况,对此他说“加定法如前,求其微数。微数无名者以为分子,其一退以十为母,其再退以百为母。”实际上他是用十进分数(微数)表示无理根的近似值,这不但开了十进小数之先河,而且为求得圆周率的更精确值创造了必要的条件。遗憾的是,刘徽的这一宝贵思想长期间未引进人们的重视。直到唐初,天文学家为了简化计算偶尔才又用到了十进分数。
进入唐中叶后,情况有所改观。如赝本《夏侯阳算经》中出现了化名数为十进小数的例子。如其中有化二丈五尺六寸为0.512端的算法。到宋元时期,社会上对非整数计算有了更高的要求。人们开始大量使用化十进名数单位为十进小数的方法,并编为歌诀。如已知一斤的价钱求几两的价钱这类问题,宋元数学家一般采用把两化为斤的十进小数来解决。数学家杨辉、朱世杰都编有化斤价为两价的歌诀,这是小数在实际生活中的应用。此外在数学内部,13世纪中下叶秦九韶、李冶、杨辉、朱世杰等数学家继承发展了刘徽求微数的思想,用十进小数作开方式无理根的近似值,从而使刘徽开方法的优越成就获得了发扬光大。这些都表明当时我国数学家对小数的运用已趋成熟。从刘徽求微数引入十进小数起,到宋元时期广泛地应用小数为止,中间约经过一千年。从数学发展本身来说,开方、除法以至普通的算术问题都有可能导致小数的产生,它所以要经历一个如此缓慢的发展过程主要是由于我国计算工作者拘泥于传统的分数方法以及缺乏足够的社会动力。然而,即便如此中国仍是世界上最早使用十进小数的国家。
中国之外,最早使用小数的是15世纪阿拉伯数学家卡西。1424年,他写了一本《圆周论》,在此书中他引入小数概念,建立小数运算法则和与六十进位制分数进行换算的方法,是除中国之外第一个使用小数运算的学者。书中同时采用六十进制和十进制两种分数记法给出圆周率的值,其中十进分数(小数)值有17位准确数字。他写道:用十进位制分数表示圆的周长与直径的比,目的是为了使“不晓得天文学家用六十进位制计算的人能够掌握十进位制分数”。卡西的工作为后来小数的通用奠定了基础。
在欧洲最早引入小数概念的是比利时数学家斯蒂文。1585年他发表《论十进》,书中明确阐述了小数理论,论述了十进制的优点及其运算,并主张一切度量衡和币制均应改为十进制,还给出小数的表示方法。因而此书被认为是欧洲第一本系统论述小数理论的书。该书当时并没有引起很大反响,但不久便被译为多种文字流传,为小数理论的传播和在日常生活中的应用起了重要作用。
另一方面,小数的记法也经历了长期的演变过程。在我国,到了宋、元时代,小数概念在我国得到进一步普及后,同时出现了几种表示小数的新方法。如秦九韶在《数学九章》中用
分别表示了1.1446154日与91.3134度。在整数部分个位之下的单位,兼起着小数符号的作用。元代(1300年左右)刘瑾著《律吕成书》,其中记录小数时,采用了把小数部分降低一行的方法。如用这种方法,3.1415926可表示为31415926。清时曾使用在中国数码字中添加小数点的方法来记小数,张敦仁《缉古算经细草》一书中可以见到具体的例子。
阿拉伯数学家卡西为了把分数中的整数部分从分数中分离出来,使用了不同的方法:有时他利用垂直线把整数部分与分数部分分开,同时在第一部分上面加注“整的”。如圆周率的近似值他记做:。其中整数部分3与后面的小数部分分开写,并且在整数3上面注上:sah-hah,这是整数的意思。可见,这一记法与我国秦九韶的记法有类似处。在另外的情况下,他采用不同的颜色来区分整数与小数部分。第一部分用黑墨水写,而第二部分用红墨水写。另有些场合下,他在每个数字的上面写出它的数位。
斯蒂文在其《论十进》一书中给出了小数的记数方法:他在每个符号后面加一个圆圈,在圆圈里记上表明小数数位的数字。例如,数3.237写成3O2①3②7③。在这种写法里,用没有数字的圆圈把整数部分与小数部分隔开。有时候用这样的写法:不是把表明数位的符号放在数字间,而是放在数字上面,并且不用圆圈。如上面的小数可以写成:
0 1 2 3
3 2 3 7
可见,他所引进的十进制小数的符号,是极其笨拙的。瑞士人布吉约在1592年,仅用一个符号0写于个位数之下,把整数部分同小数部分隔开,比之斯蒂文是一个进步。
明确用“.”如现代这样表示小数的第一个人是克拉维乌斯,1593年他在自己的数学著作中用46.5表示。从此,用“.”表示小数就为人们所接受。但具体用法上还有很大的不同。1617年,纳皮尔更明确地采用了现代小数符号,如以25.803表示。以后这种用法日益普遍。因为用小数点表示小数既简明又方便,所以到了18世纪,这种记小数的符号成为一种通用的方法。不过欧洲直到19世纪末,小数的记号仍很混乱。一个小数会有十余种记法。现代小数点的使用大体分为两大派,欧洲大陆派如德国、法国等国用逗号作小数点。英美派则用圆点“.”表示小数点,逗号用来作分节号。大陆派不用分节号。中国使用英美派记法,但近年来,记数不用分节号了。
至于小数的运算,我们不必再多说什么,因为它与整数的运算是完全一致的。事实上,许多人正是由于这一点才想到引入小数的。如斯蒂文引入小数的本意就是利用十进位思想和他发明的记数符号避免分数,而以整数运算取代之。他在该书的标题下写道:教授商业中遇到的一切计算如何可以只使用整数而无需分数之助进行。我们前面已经提到在当时的欧洲,人们对分数的计算是相当头疼的。因而,虽然他的小数记法非常笨拙,但由于它能够简化计算,仍被人们所认可。在我国,小数概念的产生也是与简化计算联系在一起的。正是简化计算的需要,成为推动小数概念产生的一大动力。
近似分数
一般人都认为,数学是一门讲究精确的科学,容不得半点偏差。但是,事实并非总是如此。因为在生活中为了应用的方便,在许多情况下我们不可能,有时也实在没有必要追求完全的精确。在这些时候,人们所需要的就是使用起来方便,但又与原来的数相差不大的近似值。这个值往往用一个较简单的分数来表示。于是,数学中有了关于近似分数的研究课题。
近似分数对我们来说并不陌生。举一个例子,在地理课上我们学习了地球表面总面积是五亿一千万平方公里,其中海洋面积是在三亿六千一百零五万九千平方公里,陆地总面积是一亿四千九百五十万平方公里。于是,我们说海洋面积占地球表面积的71 %,陆地面积占地球表面积的29%。这里的71/100与29/100是精确的数吗?不是,为了应用起来方便我们都是采用的近似分数。甚至为了应用更方便,在一般情况下,我们还会用误差较大,但更简单的近似分数7/10与3/10来代替呢!这虽不精确,但多简单明了,应用起来多方便。
这只是近似分数的一个非常简单的例子,但也可以说明,研究近似分数是很有意义的。那么如何求出一个数(这个数不一定限于有理数,也很可能是后面我们要提到的无理数)的近似分数呢?下面我们来介绍两种求近似分数的常用方法。
加成法
先来看一个问题:给你两个不等的分数,你能否找到介于两者之间的一个分数?这样一个简单问题不应该难倒你的吧。其实方法很多,如求两者的平均值就可以,但是这种方式运算较烦琐。有没有更简单的办法?
有。只需要将两个分数的分子、分母分别相加,得到的新分数必介于原来两分数之间。(对这个结论,你自己愿意证明一下吗?)这正是我们将要讲述的事情。讲完后,你将明白,从如此简单的事实出发,我们可以得到多么不简单的结论。
为了叙述方便,让我们先来下个定义。
对一个实数a,取不足近似值:,过剩近似值,即 ,那么易知有:。我们称、为母近似值,把称为上述两个母分数的加成分数。
当然,一次加成的效果并不一定令人满意,那么我们可以继续做下去。如果加成分数是不足近似值,我们可以拿它与过剩近似值做第二次加成,进一步提高精度。同样,如果所得加成分数是过剩近似值,那么就与不足近似值做第二次加成……如此反复进行下去。如果是一个有理数,那么经过有限次加成可以达到本身;如果是一个无理数,那么我们可以通过这种办法来达到所需要的精确度。也就是说,可以与的误差越来越小,直到满足我们的要求为止。
举一个例子来看一下:
取 a=67/29,先取母近似值为2/1、3/1,按照上述规则,逐步逼近67/29的加成分数依次为:
2(-),3(+),5/2(+),7/3(+),9/4(-),16/7(-),23/10(-),30/13(-),37/16(+),67/29
右上角所记(-), (+)分别表示不足和过剩近似值。
对这一串加成分数我们做两点简单的考察。
其一,7/3与前面的5/2相比,分母大,但是,它的近似程度要好(你可以自己验证一下)。当然,它比后面某些分数如23/10的近似程度要差些,不过,后面那些近似程度好些的分数的分母却都比它的分母大。或者换句话说,7/3这一分数满足:在分母比它小的分数中不存在近似程度比它好的,而那些近似程度比它好的,分母都比它的大。满足这种条件的的分数叫做最佳近似分数。7/3就是67/29的一个最佳近似分数(注意,这里我们只是简单说明了这一点,并没有给出严格的证明)。而9/4就不是。因为它的分母虽比7/3的大,但是它与67/29的近似程度却并不比7/3好。或者说,我们可以用两个标准来衡量一个近似分数的“好坏”:一是误差要小;二是分子、分母的数值要小。如果能够兼顾这两点,那么我们就称这个近似分数是一个最佳近似分数;否则就不是最佳近似分数。通过上面的简单例子可以发现,在加成分数中有的是最佳近似分数,有的不是最佳近似分数。
其二,你可以注意到,上面从3/1到9/4要经过三次加成,才由过剩变成不足。那么,当加成分数连续出现好几次是不足(或过剩)近似值时,能否一次成功简化运算呢?可以。我们可以事前通过解不等式:,得出满足上述不等式的最小x=3自然数是=3,那么原来要加成三次,就化为加成一次,即
这种办法叫做加权加成法。它与加成法的实质是完全一样的,但是它可以减少计算的次数,有时会大大减少运算量。
利用这种加成法或加权加成法我们就可以一步一步地找到好的近似分数。事实上,使用加成法来获得高精度的近似分数在我国古代很早就已经发现并使用在历法中了。如在汉代,汉武帝曾下令招集民间历法家20多人,制订我国史书所载的最早的完整历法——“太初历”。在制订“太初历”以前,天文工作者就测出一个“朔望月”是天,499/940这个分数太复杂了,用起来不方便。于是太初历的一个制订者邓平想把分数简化一下,如果取,那么太大了些,如果取,又太小了些。于是,他使用一次加成法,得:,恰好得到比两个母近似分数误差都小的近似分数。所以邓平取一个朔望月为天,以此为根据来制订“太初历”。
加权加成法,在我国古代叫“调日法”,是与祖冲之同代的南北朝刘宋天文学家何承天首创的。他经过长期的天文观察,发现当时的历法不合天文现象,于是制订了“元嘉历”。在测得一个朔望月是29.530585天后,他要把小数部分化成一个近似分数,他以9/17 ,26/49为母近似分数,用上述方法算得权数(比重数,加成比重数)为15,得。
他以这个近似分数为根据,制订出新的历法。自从何承天采用了“调日法”之后,历代天文学家都应用它制订出一个比一个更为精确的历法来。
连分数法
另一种简便而有效的求近似分数的办法是连分数法。在介绍这一方法前,我们先来看一个非常实际的问题。
我们知道,地球绕太阳旋转一周,回归到原先位置,称作一个回归年。目前世界上通用的公历就是以回归年为历法单位制订的。它的前身是罗马人的“儒略历”。公元前46年,儒略·恺撒在天文学家的帮助下,制订了一种历法并以恺撒的名字命名为“儒略历”。当时测得一个回归年是天,这并不恰好是一个整数。于是,出现了一个问题,在制订历法时,一年(叫“历年”)总不能有个“零头”(0.25天)吧!那怎么办呢?如果一个历年算365天,少算了一点;如果算366天,又多算了一点,若是我们让一些年份算365天,而另一些年份算366天,问题不就可以解决了吗?这就是人们所采用的设置“闰年”的办法:让有些年份包含365天,这些年份叫做平年;有些年份包含366天,这些年份叫做闰年(在二月份多一天)。通过置闰的办法,使较长的时期内历年的平均天数尽可能接近回归年。这确实是一个很好的解决办法。这样,问题转化为:需要按照什么规则来设置闰年才合适呢?如果平年是365天,那么一年少算1/4天,四年共少算一天,所以第四年我们可以设为闰年366天,将所差的一天正好补上。也就是,我们采用“四年一闰”的办法就行了。如果一个回归年真是365.25天,问题已经非常容易得解决了。然而,老天偏偏与人做对。一个回归年的准确时间为365.2422天。这样,如果按照365.25天算,实际上是比实际的天数多了一些,这样大约每隔128年就会多算一天。短期内可能没有什么问题,但是时间一长,可就出了麻烦。实际情况正是如此,当儒略历使用了1600多年后,即在公元1582年,人们发现这个历法竟与实际的天文现象相差了十多天,因而不得不另用新的历法,这多出来的十多天怎么办呢?十分有趣的是,由当时罗马的统治者下令,从日历上“抹”去十天,把1582年10月4日之后的一天算作10月15日,于是出现了“四日夜长梦也长,醒来已是十五日”的历史趣事。
出现这样大的差错,从近似分数的角度来看,无非是将回归年的尾数0.2422近似地看成了1 /4,而这个近似分数误差太大了些。这里涉及到求近似分数的“好坏”问题。取近似分数为1/4,我们已看到误差太大。如果取分数为2422/10000,误差为零,可算是小了,可是其分子、分母太大,在这个实际问题中根本不实用。毕竟我们不能使用10000年取2422个闰年的办法吧。从数学角度而言,问题在于用什么办法来找到我们所需要的“好”的近似分数。这就涉及到如何求得回归年的尾数0.2422的更好的近似分数。下面我们就来介绍一种新的连分数法来解决这一问题。
首先来说一下什么是连分数。一般所谓的连分数,其实是简单连分数。最古老的书写形式是:
其中a1是正、负整数或零,而a2、a3、a4……都是正整数。
由此可见,连分数实际上是一种变相的繁分数。那么如何才能把一个既约分数化为连分数呢?要执行的算法非常简单,基本上只有两条:
1.执行除法,取出商数中的整数部分;
2.将商的小数部分颠倒。
如此反复地进行下去。
我们就以0.2422这个并不简单的例子演算一下吧。
你看,演算方法并不难掌握吧。不过,有两点令人感到不太舒服。第一,上述的写法虽然非常直观、浅显、一目了然,但从节约纸张的角度来说,是太占地方了。于是,后来人们陆续引入了几种新的记法。现在一般使用[a1; a2, a3, … an] 来表示连分数,这里 a1, a2, a3, … an称为连分数的部分商。使用这种记法我们可以得到0.2422=[0;4 ,7 ,1 ,3 ,4 ,1 ,1 ,1 ,1,2]。也许有读者会说,这样表示有点太抽象了。这可没有办法避免。因为数学符号的演变过程就是这样,从具体直观逐渐到抽象。
第二,运算过程好像稍微复杂了些。其实,这一过程可以用辗转相除法予以简化。所谓辗转相除法就是求两数最大公约数的欧几里得算法。从这一点上来看,连分数与欧几里得算法有着密切联系。正因此,一些数学史家认为早在古希腊,人们已经掌握了连分数的方法。至于古希腊人是否完成了这一跨越,不是这本书要探讨下去的问题了。不过,有据可查的是,印度数学家阿耶波多的著作中可以看到连分数,此人大约死于公元550年。
如何把一个既约分数化为连分数,我们已经了解了。不过,有的读者可能已经要问了,我们这样做有什么用呢?不会是因为人们没有事干,变换着玩吧?当然不会如此。前面,我们不是已经提到过了吗?我们的目的是要通过连分数求得近似分数。现在,连分数已经得到了,如何求近似分数呢?很简单,把连分数[a1; a2, a3, … an]在第一、第二、第三……层处切断,再把它们重新化回普通的既约分数,由此得到的这些分数被称为连分数的第一、第二、第三……个渐近分数。这种求近似分数的方法我们叫做连分数法。
用通俗的说法来描述连分数法求近似分数的要点就是“丢尾巴,繁化简”。所谓“丢尾巴”就是逐次丢去连分数最下面的分数;然后“繁化简”,把剩下的连分数用化简繁分数的法则化成一个简单分数,这个分数就是渐近分数。这个过程可以用一种填表的方法予以简化。这里我们就不再说那么多了。
必须注意,一个数的近似分数很多,求近似分数的方法也很多,如前面已介绍过的加成法。但只有用连分数法求得的近似分数我们才叫它渐近分数。一串渐近分数的误差越来越小,逐步接近原来的数。这正是渐近分数名称之由来。引入渐近分数,是由于它具有一些特殊的性质,而这些特殊性质对我们解决某些问题来说是很有用的。让我们先介绍它具有的部分性质:
1.渐近分数必定是最简分数;
2.第一、三、五……是不足近似分数,并且它们的值一个比一个大;而第二、四、六……则是过剩近似分数,并且它们的值一个比一个小。换言之,渐近分数将是交替地小于或大于数的真值。对有理数而言,最终会到达其真值,但对后面我们提到的无理数而言却是永远到不了。不过,在每一步,渐近分数都将越来越接近于真值。于是,连分数提供了一种逼近实数的方法。
3.任何数都可写成一个简单连分数。有理数表示成连分数的形式,其元素的个数必定是有限个,所以叫有限连分数。无理数表示成连分数的形式,其元素的个数必定是无限个,所以叫无限连分数。有点令人感到意外的是,无理数的连分数形式中竟会出现周期性,这一点与无理数的小数表示大不相同——我们知道在小数表示中无理数永不循环。
4.渐近分数都是最佳逼近。这是渐近分数具有的一个重要性质。你可能记得加成分数就不具有这种好的性质。不过,这里要注意的是,这句话反过来不成立。即,是最佳逼近的近似分数并不一定是渐近分数。就是说,用连分数法求不出所有的渐近分数。
于是我们知道,连分数法是一个求近似分数很好的方法。第一,可以按照一定的法则去算,不必瞎撞瞎碰;第二,是一下子可以得到几个分数,可供人们选择;第三,求得的渐近分数都是最佳逼近。
好了,说了这么些,应该把话题拉回来了。下面,让我们求一下0.2422的渐近分数吧。
对 [0;4,7,1,3,4,1,1,1,1,2] 使用丢尾巴、繁化简。于是可以得到渐近分数如下:
1/4、7/29、8/33、31/128、163/673……
这些渐近分数一个比一个更接近0.2422。利用这些渐近分数我们在理论上就可以说,四年加一闰是初步最佳方案;29年四闰更好些;33年8闰会更好,这相当于99年加24天;当然从精确方面考虑128年31闰更好些等等。不过,当时的历法家采用的却是近似分数97/400,就是把一回归年近似地看作是365天。也就是说,设闰时要在400年里安排97个闰年。即,现在的公历(也叫“格里历”)采用的是“400年97闰”。并做出这样的规定:以公历纪元作标准,凡是能被4整除的年份是闰年,这样400年有100个闰年;但逢百之年,必须要能被400整除的才是闰年,这样100个闰年中又减去了三个闰年,剩下97个闰年。即“四年一闰百年24闰,四百年再加一闰”。
由于97/400=0.2425与0.2422仅相差0.0003,所以这样安排以后,要经过三千多年才相差一天,这是相当精确了。当然,如果选取我们理论上的渐近分数31/128,那么你可以算一下误差会更小,也就是更精确些。只不过,由于“百年24闰,四百年再加一闰”既好记又实用,所以,历法家们的这种设闰方案也就为人们包括数学家所接受了。这里,我们又一次看到,在实际应用中,方便实用往往比精确更受人们的重视。
事实上,利用近似分数的知识,可以帮助我们推算许多天文现象出现的周期。下面让我们再来看几个天文现象的例子。
我国通用的历法,除了公历外,还有一种叫夏历(也叫农历),它是既考虑了地球绕太阳运动,又考虑了月亮绕地球运动的“阴阳历”。地球自转一周是一天。月亮绕地球转一周经历一次“朔”(月亮暗的半个球朝向地球,这时候,夜里我们是看不到月亮的)、“望”(满月,这时期,夜里我们可看到一轮明月)变化,时间是29日12时44分2.9秒(29.5306天),叫做一个“朔望月”。地球绕太阳公转一周是一年。一年为365.2422天。一月为29.5306天。一年的天数不是一月天数的整数倍,而是12.368倍,那么把一年定成几个整月好呢?如果一年算作12个月,那么每年少算了若干天;如果一年算13个月,那么每年多算了若干天;这就要用设置“闰月”的办法来解决。平常的年份,1年算12个月,12个月之外余下的天数(约11天)几年以后又“积”成一个月,这一年应该有13个月。在夏历里,就把多出来的一个月叫“闰月”,这一年就叫“闰年”。于是,这就提出一个问题:相隔几年设置一个闰年好呢?让我们也用连分数法求一下的渐近分数。经计算可得到其渐近分数为:12,,,,,,,, …… 前面几个太粗糙了些。11年4闰好一些,19年7闰就更好些了。我国古代数学家们曾为了更好地解决这个问题耗费心思,并制订出精确程度越来越好的历法。如祖冲之制订《大明历》以391年置144闰来代替古老的十九年七闰的办法。这个144/391这个分数是怎样推算出来的呢?这同样是人们关注已久的问题。有人推测他是用连分数法求得的。如果这一推测成立,那么他是熟悉连分数法的。
你有兴趣的话可以去查一下闰月情况,可以发现十九年中大致有七个闰月。至于究竟哪一年是闰年,闰哪一个月,这是天文工作者根据天文现象安排的,我们这里不作介绍了。
另一个问题是,一个月应该安排多少天呢?让我们把0.5603天展成渐近分数如下:
1/1, 1/2, 8/15, 9/17, 26/49, 867/1634, 893/1683, 2653/5000
也就是说,就一个月来说,最近似的是30天,两个月就应当一大一小,而15个月应当8大7小,17个月中9大8小等。
类似情况在天文学上是很多的。例如1962年2月5日,金星、木星、水星、火星、土星在同一方向上出现,而且就在这方向上日食也正好发生。这种现象叫做“日月合璧,五星联珠,七曜同宫”。这是几百年才出现一次的现象。又如到1982年,太阳系八大行星及冥王星将运行到太阳的一侧,大致联成一线,这种现象叫做“九星联珠”。九星联珠大概179年出现一次,最近一次发生在2000年5月20日。
如果你想大致了解这类现象何时出现,就可以借助于连分数法去推算一下。怎么样,数学知识很有用吧!当你有了预测这类事件的本事后,你会觉得这些天文现象是很自然的,并没有什么特别神秘的地方。你至少不会再相信那些迷信的鬼话了吧。
此外,我们需要说明的是,连分数法的应用并不限于这些。它在数学上还有许多其他的应用。其实几乎任何一本数论书里都有连分数的章节,在计算机与现今非常时髦的“混沌”理论中也少不了它,以致令许多没有学过它的人不得不“回头”补课。