1等于0.循环9吗?
最近工作不是很忙,空闲之余认真阅 读了《数学史概论(第二版)》一书。作者 从古代数学的起源直到现代数学娓娓而谈 ,每一段重要数学史都无一不谈。合上书本,脑海里对数学的历史来龙去脉,以及每段时期数学发展的动力,矛盾和杰出的数学家都一一了解 。尽管有些数学知识我一知半解,但此书仍令我兴趣盎然 。微积分和第二次数学危机,是我最感兴趣的部分之一。何谓无穷小,当时很多数学家都不能作出完美的解决,以致这后来被一位哲学家所诟病。整整经过二百多年后,数学家才对无穷小作出完美的解释,微积分这一数学大厦才完美 竣 工。
无穷小,是微积分的基础,这令我想起了小学课本上的一个难度很大的数学问题,那就是:
1 与0.循环9相等吗?
我问过好几个对数学感兴趣的朋友和同事,他们给我的答案令我感到非常惊奇,一个很简单的问题,为什么想不明白呢?遂有此文之愿。
乍一看去,和你仔细想想甚至深思熟虑后,心里的答案是什么,相等,还是不相等。你亦可 google或baidu一下,网上也不少人在谈论此问题,但众说纷纭。本文通过多种方法来解释真实的答案。
1. 从第二次数学危机谈起
我们高中课本上就谈到极限,其中有个公式,我想大家都不会忘记,如下:
Lim 1/2 + 1/4 + 1/8 + ... + 1/(2^n) = 1 (n趋近于无穷大)
你相信上述式子成立吗? 说真的,我怎么也不能相信上式真的会成立。左式的结果是越来越接近1,但明显是小于1的,怎么会相等呢?假如真的是相等,也要算到n是无大穷的时候吧,那个时候已是沧海桑田了,我怎么能算得到,况且是接近,不是相等。 我也在另一本书看到另一个有趣的话题,那就是:
自然数N 是可无究多个的,是可数的。
我对自然数是可数集,这一定义是理解,但这本书更牛,它说到,是因为计算机在 1 秒内可以将所有自然数数一 遍。你相信吗? 我绝不相信,有这样神速的机器。书上介绍了它的方法,用0.5秒的时间来数 1, 0.25秒的时间来数2, 依此类推,如果数n的时间为t秒,那么数n+1的时间花t/2秒即可。这样,1秒种就可以数完了。
我觉得很荒唐,计算机数数怎么越来越快呢?从物理特性上说,根本不可能存在这么快的机器。你还不说,作者马上写道,假如有这么快的机器,你能1秒钟内数完所有实数吗?如果有,请安排你的策略。你可别说,实数是不可数的,这是根本不可能办到的事情。
从上面的两个小问题,我们认识到了一个我们难于理解的问题,无究大。无究大是多大,我们没有认真想过,只是觉得非常大,数不清。我们竭尽词澡,都不能准确表达无究大的概念。我们平时接触的事物都是有限的,换句话说,都是有尽头的。
无尽的路,我们能走完吗? -- 不能
在自然数N的基础上加一个0形成一个新的自然数集N1,这两个集合哪个的元素个数多? -- 当然是N1拉,它比N多了个0
自然数是无穷的,但我们在直觉中,往往会将之想象成有穷的,无办法,谁叫我们生活在一个有穷的 世界中。因为有穷世界里,比较两个东西很容易,把一头对齐,另一头,谁高就谁大,比较两个人谁高就使用此方法。把 N和N1一比,以无穷大为基端,很容易发现N1的1和N的1对齐,而N1多了一个0,显然是N1个数多。这就是我们的直觉。
正因为我们的直觉,无穷大是难以理解的,也是难以执行的(如数数,数到无穷大),就出现了第二次数学危机。下面是当时出现的两个悖论:
运动不存在
第一个悖论是说运动不存在,理由是运动物体到达目的地之前必须到达半路,而到达半路之前又必须到达半路的半路…… 如此下 去,它必须通过无限多个点,这在有限长时间之内是无法办到的。
跑得很快的阿希里(我们假设它是只兔子)赶不上在他前面的乌龟
第二个悖论是跑得很快的阿希里赶不上在他前面的乌龟。因为乌龟在他前面时,他必须首先到达乌龟的起点,然后用第一个悖论的逻辑,乌龟者在他的前面。这两 个悖论是反对空间、时间无限可分的观点的。
第一个问题,假设运行的路程为S ,那么运动者必先走 S/2 的路程;在剩下的 S/2 中,又必须先走 S/4 路程; ...; 这样运行者必须走无限多个数,根据我们对无限大的理解,这是根本不可能走完的。但在生活中,又是很容易了,如几十米的路程,一分钟内就走完了,怎会走不完呢?这就是在数学上在无限的,不可能完成的,而在真实世界是可能完成的,相矛盾。
第二个更有趣,兔子竟然追上不乌龟,不管它有多快。 为了更好分析第二个问题,我们用一个实例来分析。假设开始赛跑时,乌龟在兔子前9m ,兔子的速度为 10m/s ,而乌龟的速度为 1m/s 。于是有:
1) 兔子第一次追上乌龟出发的地方,所花的时间为, t1 = 9/10, 而在 t1 时间内,乌龟跑了 s1 ( t1 乘以乌龟的速度) :s1 = t1 * 1m/s = 9/10
2) 兔子要第二次追上乌龟上述的出发点,即要追上s1 路程,所花的时间 t2 = s1/ 兔子的速度 = (9/10) / 10 = 9/100 。而乌龟在 t2 时间内又跑了 s2= t2* 乌龟的速度 = (9/100)*1 = 9/100
3) 依此类推,兔子第三次追上乌龟的起跑点,所需时间为t3 = 9/100.
...) 无穷次的追赶,免子真的能追上乌龟吗?
假设真的能追上的话,那兔子要花多少时间呢? 很简单,只需把t1, t2, t3, ... 一直加到无穷大项就可以了,即:
t1 + t2 + t3 + ...+tn + ... = 9/10 + 9/100 + ... + 9/(10^n) + ...
= 0.9 + 0.09 + 0.009 + ... + 9/(10^n) + ... = 0.999...
请注意,上式不是一个极限,而是一个级数。它的值是0.999999999999...( 无限个 9) 。 1/3 等于多小, 0. 循环 3 吧,因为不能整除,结果有无穷个 3 ,为了表示这一结果,使用 0. 循环 3 来表示。循环之意,表示后面有无穷多个重复。依照此定义,那么 0.999.....( 无穷多个 9) 等于 0. 循环 9 。所以免子能追上乌龟的话,它花的时间是 0. 循环 9 ,这一时间量显然不大于 1 ,所在兔子还是很快就能追上乌龟的。那 0. 循环 9 这一值到底是多少呢?我们用高中数学知识算一算就可以了:
0.999..........其实就是 a0 = 0.9, 公比为 q = 0.1 等比数列,通项求和后,对 Sn 求极限的结果。所以我在上面说, 0.9999........... 不是一个极限,而一个级数,它的值等于 Sn 的极限。 Sn 的极限显然是 1 。 难度就是说 0. 循环 9 等于 1 吗?
很多人都不敢相信,0. 循环 9 等于 1 ,因为是从极限角度出来的,而极限是无限接近的,而我们又看不到当 n 值取到无穷大的那一刻,它的值到底是不是真的就是这个极限。看来,我们还是绕不过无限大的可怕之处。我们用小数的知识算一算,兔子到底要花多少时间才能追上乌龟。假设兔子追上乌龟所花的时间为 x ,那么在这 x 时间内免子跑了 10x ,而乌龟跑了 1x = x ,根题意,子兔子追上乌龟时,肯定比乌龟多跑了 9 米,故有 10x - x = 9 ,于是得到 x = 1 ( 秒)。
从无限可分的角度来说,我们得到的结果是0. 循环 9 ;而从整体分析来说,我们得到的结果是 1 。 那么我们还有什么道理说 0. 循环9 不等于 1 呢?
2. 从有理数的定义出发
记数的历史,几乎与人类历史一样悠久。人们先是使用自然数,或整数来记录,或表达物体的个数。经过一段时间后,人们认识到只使用整数是不能很好处理身边的事情,如猎物的重量,物体的长度等度量。人们开始使用小数,即有理数这一概念。后来在第一次数学危机中,人们发现发无理数,即存在无限不循的小数,如根号2 。从自然数,到有理数,再到包括无理数在内的实数。每一次数集的扩展,都加入了新的元素。从自然数到有理数,加入了小数部分。而到实数时,加入了无理数部分。而原来的数集在新的数集内,都有一一对应的元素。例如,原来的自然数 1 ,在新的有理数数集内,它的对应物是 1.0 这个小数。有理数还有一个定义是无限循环小数,从这层面上说,所有的有理数都可以表示成一个无限循环小数。 1/3 是有理数,它的无限循环小数是 0. 循环 3 。 1.0 呢? 显示是 1. 循环 0 了。 这既满足循环,又有无限之意。其实 1.0 表示成无限循环小数不是这样的,我们可以对比一下:
1/3 = 0.循环 3, 但不等于 0.333, 也不等于 0.33333333333333333333, 无论后面写多少个 3 都不会等于 . 循环 3 ,必须有无限多个才会相等。
而1.0 = 1/1 = 1. 循环 0 ,等于 1.000, 了等于 1.000000000000000000, 无论后面写多少个 0 都等于。
与1/3 的无限循环小数写法相比, 1.0 的写法显得理由不充分。 1.0 写成的无限循环小数后面的 0 不必是无限多个的,有限多个,甚至只是 1 个都是与 1.0 相等。这违背了无限循环之意。
别急,1.0 是有理数,它一定可以用一个无限循环小数表示的,而这个数正好是 0. 循环 9 。不相信么?我可以帮你算一算到底是不是,先算一算 1/3 的无限循环小数吧。
在1 除以 3 的除法计算过程中,商 3 后,总是余 1 ,然后商的结果是小数点后,一直是无穷无尽的 3 ,故 1/3 的结果是 0. 循环 3 ,这是一个名正言顺的无限循环小数,因为它不是编造出来,而是除不尽,而除法竖式计算出来的。但 1 = 1/1 = 0. 循环 9 就显得非常不正常了,因为它不是用除法竖式计算出来的,故名不正言不顺。但所有的有理数都可以表示成无限循环小数,有什么道理 1 表示不成 0. 循环 9 呢?,各位看官请看:
在1/1的除法竖式中,第一次试商是 0 ,而非我们平时使用的 1 。我觉得这是可以的,也是正常的,因为此时余数不超过除数的 10 倍,在后面的除法竖式步骤中会将第一次试商的差值补上来。这样,我们终于名正言顺地计算出来了 1 = 1/1 = 0. 循环 9 。其实按此方法,所有有限小数,都可以转化为以循环 9 结尾的无限循环小数。如:
2 = 1.循环 9
0.0334 = 0.333循环 9.
依此类推。
3. 数学公式的魔术
其实我们可以单单从任何一个无限循环小数出发,来推出1 = 0. 循环 9.
1) 我们已承认: 1/3 = 0. 循环 3 ,然后将等式左右两边乘以 3 ,就得到的问题的答案,即 1 = 0. 循环 9 。
2) 令 x = 0. 循环 9 ,那么 10 x= 9. 循环 9 ,然后两式左右分别相减,得到: 9x = 9 ,推出 x = 1 。
神奇吧,无论你多么不想承认1 与 0. 循环 9 相等的事实,但所有的证据都告诉你,它们是相等的。我们想不到,甚至想不通,是因为我们的世界是有限的,而不是无限的。所以我们只能用数学的条文去推导它他们否相等,而无穷个 9 是我们永远也算不完是不是等于 1 的。
数学家是伟大的,他们创造了极限这一运算来表示我们无法理解的无限次运算的结果,这些结果当中不排除它的值是无限大的,而很多时候是一个常量,即固定值。在极限的述语里,我们总是用无限趋近于无穷大,它的值才会等于。而0. 循 9 不是无限趋近于,而是已经趋近了。无穷个数相加,不就是“无限趋近”的结果吗?,即极限的结果。
4. 不承认相等后,所不能回答的问题。
1) 1 是一个有理数, 0. 循环 9 也是一个有理数,如果不相等, 那么 1 - 0. 循环 9 也是一个有理数,由于所有的有理数都可以表示成有限小数,或无限循环小数,那么你能表示出 1 - 0. 循环 9 的结果吗? 如果不能,那么则说明两者是相等的。
2) 如果不承认1 = 0. 循环 9 ,也即不承认无穷级数的结果,也是认为无限次计算结果是不可能计算出来的。那么 1/3 = 0. 循环 3 也是不成立的,你如何保证在 1/3 的除法竖式中,小数点后的商中每一位都是 3 。因为你不承认无穷的概念,你必须要写完所有的商才能断定每一位是 3 ,问题是你能写完商的每一位吗?
5. 总结
1 是否等于 0. 循环 9 ,这一问题源自于对极限的理解。数学家自从完成实数系统化后,就已经给出了明确相等的答案。本文从多方面论证两者是相等的,本人并非数学专业,只能从我的理解对二者作出诠释。但两者相等却是不容置疑的。我在网上见到很多大学教授对此问题仍然作出错误的解释,实在可笑。这足以说明我们的数学素养还是有待普及。
有更好的解释,或更好的资料,还请各位朋友多多介绍,谢谢!