这问题问到了数学里一个非常根本、也非常漂亮的性质,叫做“实数的稠密性”,或者更具体地说,是有理数在实数中的稠密性。简单来说,就是任意一个实数,不管它是多么的“无理”,我们总能找到一串有理数,它们离这个无理数越来越近,最终无限地靠近它。
为什么会有这个性质呢?这其实涉及到我们如何构造实数以及我们对“数”的理解。你可以把实数轴想象成一条无限延伸的直线。在这条线上,我们不仅有整数,还有分数(有理数),但同时还有像 $pi$ (圆周率)、$sqrt{2}$ (根号二) 这样“填不满”的缝隙,这些就是无理数。
我们先来理解一下“稠密”是什么意思。如果你在一张纸上画一条线段,然后在这个线段上随便取两个点,你会发现,你总能在它们之间找到另一个点。如果有理数集是稠密的,那么在实数轴上任意两个有理数之间,你总能找到另一个有理数。这是有理数集本身的性质。
而我们这里谈论的是,任意一个实数(包括无理数)都可以被有理数“逼近”。这意味着,不管这个无理数在哪里,你都可以用越来越精确的有理数去“包围”它。就像你拿一把尺子去测量一个弯曲的物体,你总能用越来越多的直线段去尽量贴合它的形状一样。
那么,这个“逼近”是怎么做到的呢?这就要说到构造这些有理数列的方法了。最直观、最常用的方法就是小数展开法。
我们知道,任何实数都可以用小数的形式表示。对于有理数来说,它们的小数表示要么是有限的(比如 $0.5$,$1/4 = 0.25$),要么是无限循环的(比如 $1/3 = 0.333...$,$1/7 = 0.142857142857...$)。而无理数的小数表示是无限不循环的。
现在,假设我们有一个无理数 $x$。我们可以从它的整数部分开始,然后一位一位地逼近它的小数部分。
举个例子,我们来找一个逼近 $sqrt{2}$ 的有理数列:
我们知道 $sqrt{2}$ 是一个无理数,大约是 $1.41421356...$。
1. 第一步:整数部分。
$sqrt{2}$ 的整数部分是 $1$。所以我们知道 $1 < sqrt{2} < 2$。这里我们得到了第一个有理数 $r_1 = 1$。
2. 第二步:一位小数。
我们想找到一个一位小数的有理数来逼近 $sqrt{2}$。我们尝试 $1.1, 1.2, 1.3, 1.4, 1.5, ...$。
计算它们的平方:
$1.1^2 = 1.21$
$1.2^2 = 1.44$
我们发现 $1.4^2 = 1.96$ 并且 $1.5^2 = 2.25$。
所以我们知道 $1.4 < sqrt{2} < 1.5$。
我们选择一个有理数作为新的逼近值,比如 $r_2 = 1.4$。现在我们知道 $1.4 < sqrt{2} < 1.5$。
3. 第三步:两位小数。
现在我们知道 $sqrt{2}$ 在 $1.4$ 和 $1.5$ 之间。我们在这个区间里找一位小数的数,也就是 $1.40, 1.41, 1.42, ...$。
$1.41^2 = 1.9881$
$1.42^2 = 2.0164$
我们发现 $1.41 < sqrt{2} < 1.42$。
我们选择 $r_3 = 1.41$ 作为新的逼近值。
4. 第四步:三位小数。
现在我们知道 $sqrt{2}$ 在 $1.41$ 和 $1.42$ 之间。我们找这个区间里三位小数的数:$1.410, 1.411, 1.412, ...$。
$1.414^2 = 1.999396$
$1.415^2 = 2.002225$
我们发现 $1.414 < sqrt{2} < 1.415$。
我们选择 $r_4 = 1.414$ 作为新的逼近值。
你可以看到一个模式:我们每次都选择比当前无理数的值小一点的有理数作为我们数列的项。
这个过程可以无限进行下去。对于任意一个无理数 $x$,我们可以:
取整数部分: 找到最大的整数 $n_0$ 使得 $n_0 le x$。令 $r_1 = n_0$。
取一位小数: 找到最大的整数 $n_1$ 使得 $n_0 + n_1/10 le x$。令 $r_2 = n_0 + n_1/10$。
取两位小数: 找到最大的整数 $n_2$ 使得 $r_2 + n_2/100 le x$。令 $r_3 = r_2 + n_2/100$。
一般地,取 k 位小数: 假设我们已经找到了一个有理数 $r_k$ 使得 $r_k le x$。我们寻找最大的整数 $n_k$ 使得 $r_k + n_k/10^k le x$。令 $r_{k+1} = r_k + n_k/10^k$。
这样构造出来的数列 ${r_k}$ 满足:
1. 每一项 $r_k$ 都是一个有理数(因为它们是由整数和分数构成的)。
2. 每一项 $r_k$ 都小于或等于 $x$ (或者我们也可以选择比 $x$ 大一点的有理数逼近,比如上面的 $sqrt{2}$ 的例子,1.5, 1.42, 1.415 都是比 $sqrt{2}$ 大的)。
3. 项与项之间的差越来越小。具体来说,$r_{k+1} r_k = n_k/10^k$ 并且 $0 le n_k le 9$。所以差值小于 $10/10^k = 1/10^{k1}$。随着 $k$ 的增大,这个差值趋近于 $0$。
这种构造方法本质上就是写出这个无理数的十进制小数展开。比如对于 $sqrt{2} = 1.41421356...$,我们可以构造数列:
$r_1 = 1$
$r_2 = 1.4$
$r_3 = 1.41$
$r_4 = 1.414$
$r_5 = 1.4142$
...
这个数列 ${r_k}$ 里的每一个数都是有理数,而且它越来越接近 $sqrt{2}$。我们可以证明 $lim_{k o infty} r_k = sqrt{2}$。
为什么一定存在呢?
这是实数系的一个内在属性。我们定义实数的时候,就包含了这种“连续性”和“填充性”。实数轴上没有任何“空隙”。任何一个点(无论是有理数还是无理数),我们都可以用越来越小的区间去“夹住”它,而这些区间(或者说区间的端点)都可以是有理数。
想象一下你站在一条非常精确的尺子旁边,你想找到一个无理数的位置。你先找到它在哪个整数区间里。然后你精确到分米,找到它在哪个十分之一米(0.1米)的区间里。接着你精确到厘米(0.01米),再精确到毫米(0.001米)…… 每一步你都在缩小范围,并且你选择的范围的边界总是有理数。因为你有无限次的缩小范围的机会,你最终就能用有理数把这个无理数“定位”到。
这种“逼近”的性质,是实数能够描述连续变化过程、测量精确长度、解决微积分问题等许多数学和科学应用的基础。它也说明了有理数虽然不是全部实数,但它们在实数集中起到了非常重要的“支撑”作用,可以用来“构建”和“逼近”一切实数。
所以,不仅仅是有理数可以被逼近,任何一个实数,无论它多么“怪异”,都可以被一串有理数无限地拉近。这正是数学中“稠密”概念的美妙体现。