首先说结论,二者相等是实数构造过程直接决定的。
因此证明二者相等绕不开构造实数的两种方法,戴德金分割和柯西序列法,并且这两种方法是等价的,都可以导出二者相等的结论。
下面是对二者相等的解释,不算严格的证明,不过比较好理解。
简单的来讲就是我们定义实数具有稠密性,即两个不相同的实数之间一定存在另一个实数。
也就是从小数学老师告诉我们的数轴上的点与实数一一对应。
而0.999循环和1之间无法找出另一个实数,所以这两者相等。
@申力立 的证明存在错误,错误在于显然地认为成立,他的理由是从高到低依次比较每一位数字的大小,但这并不是显然的,这一性质是在已经定义好了,之后才有的。
完整地解释实数的十进制实数(实数的十进制表示)是什么,并不像你可能想象的那么自然。为什么与是同一个实数,而与不是同一个数?为什么是实数,而不是实数?以及为什么当我们在作加法或乘法时必须关注小数点的位置?为什么和是同一个实数?最小的正实数是是什么,是否是?
简单地说就是实数的十进制表示唯一性不成立,所有的实数,当它是有限小数时(从小数点后某位开始全是零的数),它有两种十进制表示,当它不能表示成有限小数时,它只有一种十进制表示。
仅有两种十进制表示,即和。表示的是Cauchy序列
的极限,很明显它的极限为。表示的是Cauchy序列
的极限,这个序列的极限也是是。
这里我推荐《陶哲轩实分析 》一书,tao在附录B中详细地解释了这个问题。
下面来严格地处理实数,从有理数来构造实数有两种方法
一、实数的构造
这里采用Cauchy序列的方法来从有理数构造实数,设表示所有有理数的Cauchy序列的集合,那么我们要构造的实数就是除以一个等价关系的商集:
这个等价关系是当且仅当对每个有理数,存在使得对一切都有。当然这里认为有理数已经定义好了,你可能会问,有理数是如何定义的?这里简单的回顾一下各种“数”的定义:首先自然数是最基础的,它是采用Peano公理和集合论中的ZF公理来定义的,整数是的加法完备化,有理数是的乘法完备化,我们要构造的实数是的度量完备化。
构造实数首先需要Cauchy序列的概念。
定义. (Cauchy序列)一个有理数序列叫做Cauchy序列,当且仅当对每个有理数,存在使得对一切,
比如,即是有理数的Cauchy序列
定义.(等价的序列) 两个序列和是等价的当且仅当对每个有理数,存在使得对一切成立。
实数就是所有Cauchy序列的集合除以这个等价关系的商集。
定义. (实数)形如的对象叫做实数,其中是有理数的一个Cauchy序列。两个实数和叫做相等的当且仅当和是等价的Cauchy序列。我们把叫作 的形式极限。
注. 符号的集合论解释是,它是Cauchy序列在这个等价关系下的等价类:
但这种解释对于我们如何处理实数并没有什么帮助。
后面我们将定义真正的极限,并且证明一个Cauchy序列的形式极限与此序列的极限是相同的。之所以定义形式极限是为了避免循环论证:定义实数需要极限的概念,而极限的概念只有当我们定义了实数之后方能适当地定义。至此,实数就定义好了。
二、实数的十进制表示
前面的实数的构造我们没有用到十进制,因为十进系统本身在数学中不是本质的。十进制系统对于计算很方便,而且由于一千多年的使用,我们从小就习惯于这个系统,但在数学史上,它的确是相等较为近代的发明。但为了处理之类的数,我们需要实数的十进制表示。
定义. (digit)一个digit是这十个符号之一。我们把这些digit与自然数依下述公式等同起来
,,,,
我们还定义数字拾为:(我们还不能使用十进制符号来表示拾,因为那要预先知道十进制,从而导致逻辑循环)
定义. (十进制正整数) 一个十进制正整数是一个digit串,其中是自然数,并且第一个digit 不是零。我们用公式
使每个十进制正整数与正整数相等。
比如是十进制正整数数,而不是,也不是。根据定义
另外,一个单元的十进制整数恰好等于那个digit本身,比如十进制数恰好等于
正整数的十进制表示是存在和唯一的,因为有下面定理:
定理. (正整数的十进制表示是存在和唯一的) 每个正整数都恰等于一个十进制正整数。
这个定理不难证明,主要用到了自然数的带余除法。一旦有了正整数的十进制表示,当然可以加一个负号以用于负整数的十进制表示,最后让也是十进制数,那么就给出了一切整数的十进制表示,由于拾,通常我们用代替拾。
定义. (有限小数) 一个实数叫作有限小数,如果对于两个整数,
很明显,有限小数是有理数,但有理数不一定是有限小数,比如。
定义. (十进制有限小数) 一个十进制有限小数是一个digit的串连同一个小数点,书写成
其中,小数点左边是有限的,小数点右边也是有限的,其中取或则,而是一个十进制自然数(即或为十进制正整数,或为)。这个十进制数等于有限小数
模仿上面定理的证明,可以得到一个类似的定理:
定理. (有限小数的十进制表示是存在和唯一的) 每个有限小数都恰等于一个十进制有限小数。
最后来定义十进制实数:
定义.(十进制实数) 一个十进制实数是一个digit的序列连同一个小数点,书写成
其中,小数点左边是有限的,但小数点右边是无限的,其中取或则,而是一个十进制自然数(即或为十进制正整数,或为)。这个十进制数等于实数
这个级数总是绝对收敛的,因为它是有界的,根据十进制实数和无限级数的定义,表示的是有理数的Cauchy序列
的极限。比如表示的是有理数序列
的极限。
但是实数的十进制有一个小小的瑕疵:一个实数可能有两个十进制表示。我们只能有下面的定理:
定理. (十进制表示的存在性) 每个实数都至少有一个十进制表示
证明主要是根据实数的阿基米德性质。
最后展示一个例子说是实数的十进制表示并不是唯一的。
命题. (十进制表示的唯一性不成立)数有两个不同的实数的十进制表示:和
证明. 表示是明显的,现在计算,根据定义,这是有理数的Cauchy序列
的极限,也就是序列的极限,很明显它的极限是。
数只有这两个十进制表示。事实上,所有的实数,当它是有限小数(即从小数点后某位开始全是零的数)时,它有两种十进制表示,当它不能表示成有限小数时,它只有一种十进制表示。
参考
[1] 陶哲轩实分析
[2] The Definition of the Real Numbers
[3] http://planetmath.org/sites/default/files/texpdf/32907.pdf
前面的回答都不够令人满意,我来写一个完整而清晰的解释。
首先明确指出下面的事实:
无限循环小数 0.999... 与 1 严格相等。
很多网友会通过一些初等的方法来理解这个事实,下面举出三种有代表性的初等思路:
思路一:
设 a=0.999...
则 10a=9.999...
于是 9a=10a-a=9.999...-0.999...=9,
因此 a=1.
思路二:
由于 1/3=0.333...,
所以 1=(1/3)×3=0.333...×3=0.999...
思路三:
0.999...可以看成首项为 0.9, 公比为 0.1 的等比数列
的所有项之和.
根据等比数列的求和公式,
但是,需要强调的是,以上三种思路可以用来帮助你直观理解,但你不能把它们当成“1=0.999...”的严格证明。原因是,“0.999...”这样的无限小数的严格表示是超出了初等数学的范围的,你不能想当然地对“0.999...”这样的无限小数做普通的加减乘除运算,所以上面三种初等思路只能算“投机取巧”的“初等理解”,而不能叫做“严格证明”。
要给出 1=0.999... 这个事实的严格证明,我们首先需要理解从有理数构造实数的办法,这个构造过程将使我们更加深刻地认识无理数,而不是仅仅停留在"无限不循环小数"的直观层面上。
下面我把这个过程给出一个尽可能详细而易于理解的解释。
设两个非空有理数集合 A 和 B 满足:A∪B 为全体有理数,且对任意 a∈A 和 b∈B,都有 a<b。则称A 和 B 构成有理数集的一个 Dedekind 分割,简称分割,记为 A/B。
这一定义包含两层意思:
所以,在逻辑上,有理数集的分割 A/B 可能是下列四种情况之一:
但实际上,第 4 种情况不可能发生。因为如果 A 有最大数 a,B 有最小数 b,根据分割的定义可知 a<b。但是 (a+b)/2 显然也是有理数,并且
因此 (a+b)/2 既不在 A 中, 也不在 B 中,这就与 A∪B 是全体有理数矛盾。
这样,有理数集的分割 A/B 就归结为下列三种情况:
对第 1 种情况,我们称分割 A/B 确定了有理数 a,例如上面给的例子就确定了有理数 0;
对第 2 种情况, 我们称分割 A/B 确定了有理数 b,例如上面给的例子就确定了有理数 1。
而对第 3 种情况,即 A 没有最大数,B 也没有最小数,下面就是一个典型的例子:
此时分割 A/B 没有确定任何有理数,即集合 A 和 B 之间存在一个"空隙",于是我们需要引入一个新的数 (即无理数) 来表示这个"空隙"。在这个例子中,表示这个"空隙"的无理数就是。
这样,我们就得到了无理数的严格定义:
设 A/B 是有理数集的一个分割,如果 A 中没有最大数,B 中没有最小数,则称分割 A/B 确定了一个无理数 c,c 大于 A 中的任何有理数,同时小于 B 中的任何有理数。
例如,在刚才的例子中,分割 A/B 所确定的无理数大于 A 中的任何有理数,同时小于 B 中的任何有理数。
需要注意的是,符合上述定义的无理数 c 在分割 A/B 给定的前提下一定是唯一的。否则,假设某个有理数集的分割 A/B 确定了两个无理数 c 和 d,不妨设 c<d。取正整数 n 满足
则 nd-nc>1。这说明至少有一个整数 m 满足 nc<m<nd(因为 nc 和 nd 的距离大于1)。于是
由于 c 大于 A 中的任何有理数,而 d 小于 B 中的任何有理数,所以有理数既不在 A 中,也不在 B 中,这就与 A∪B 是全体有理数矛盾。
从而我们就可以得到实数的严格定义:
由全体有理数,以及有理数的分割所确定的全体无理数,构成的集合成为实数集。
跟有理数的分割类似,我们可以定义出实数的分割:
设两个非空实数集合 A 和 B 满足:A∪B 为全体实数, 且对任意 a∈A 和 b∈B,都有 a<b。则称 A 和 B 构成实数集的一个分割,同样记为 A/B。
实数集和有理数集的一个本质区别是:实数集是完备的。这可以用下面的 Dedekind 分割定理来表示:
设 A/B 是实数集的一个分割,则或者 A 有最大数,或者 B 有最小数。
这个定理说明,实数集的分割不存在有理数集的分割的第 3 种情况,即 A 没有最大数、B 也没有最小数的情况。
换句话说,实数集中没有"空隙",数轴上的任何一个点都可以用某个实数唯一精确表示。
这样,我们得到了以下结论:
在有了上面的准备之后,我们就可以给出“1=0.999...”的严格证明了。
1=0.999...的严格证明:
设 t=0.999...,作两个有理数集的分割
根据前面的讨论,分割 A/B 确定了实数 t=0.999... (我们暂时不知道 t=0.999...是有理数还是无理数),分割 C/D 确定了有理数 1。
为证明 t=1,我们只需要证明这两个分割是相同的,即证明 A=C。
若有理数 x∈A,则显然有 x<1,于是 x∈C。这说明 。下面只需证明。
若有理数 x∈C,则 x<1。不妨设 x>0。根据有理数的定义,我们可以把 x 用分数的形式表示为
既然0<x<1,则必有p<q。于是由
可知存在正整数 n 使得
于是
既然 x<t,这就说明 x∈A。从而我们就证明了。
综上所述,我们就得到了 A=C,从而 A/B 和 C/D 是两个相同的分割,因此 0.999...=t=1。
如果你一句话不说,就消失十天。被辞退,是不需要赔偿的。你请了假,公司不批,你强行休假,公司辞退,是需要赔偿的
估算一个上界。思路是每一轮都寻求一条最短线段,将当前包含天使的多边形,按面积等分成两个新的子多边形。再假设天使的运气足够好,每次都瞬移到等分效率较低的子多边形。
直观看出,取平行于正三角形一条边的线段来等分其面积,等分效率最高。令此线段长度 ,三角形边长 ,则:
这样,初始正三角形被分成一个新的小正三角形和一个等腰梯形,易见等腰梯形的等分效率远高于新的小正三角形,于是根据假设,天使将瞬移到新的小正三角形当中。如此循环,至于无穷,天使将被锁定在初始正三角形的一个顶点。计算魔鬼走过的耗时路程:
记魔鬼速度 ,则捉住天使的时间:
这个题目如此离散,不借助于数值离散优化不易得到全局最优解,建议大家来改进这个上界吧。
按照 @yyx 说的圆弧线等分正三角形以及后续的扇形,上界可以改进为: