有理数集与整数、有限小数、无限循环小数并集的等价性证明

命题

有理数集是封闭集,因此只需证明既约真分数集与 \((0, 1)\) 中有限小数和无限循环小数的并集等价即可。

证明思路

约定

  • 若无特殊说明,本文中的字母都是正整数;

  • 讨论有限小数和无限循环小数时,我们默认 \((0, 1)\) 为全集;

  • \(\perp\) 是互质符号。

有限小数

有限小数化为既约真分数

Trivial

既约真分数化为有限小数

既约真分数 \(\dfrac{p}{q}\) 可以化为有限小数的充要条件是 \(q\) 不存在 \(2, 5\) 以外的质因数。

略证:若 \(q\) 不存在 \(2, 5\) 以外的质因数,则可设 \(q = 2 ^ \alpha 5 ^ \beta, \ k = \max \{ \alpha, \beta \}\),可以 \(p, q\) 同乘 \(2 ^ {k - \alpha} 5 ^ {k - \beta}\) 使 \(q\) 变为 \(10 ^ k\)\(\dfrac{p}{q}\) 化为了有限小数。另一方面,若 \(q\) 存在 \(2, 5\) 以外的质因数,则这些质因数因 \(p \perp q\) 而始终无法消去,\(q\) 总不能化为 \(10\) 的幂,\(\dfrac{p}{q}\) 不能化为有限小数。

无限循环小数

无限循环小数化为既约真分数

任意的无限循环小数 \(x\) 都可以化为 \(0. u_1 u_2 \dots u_s \overline{ v_1 v_2 \dots v_t }\) 的形式,其中 \(\overline{ v_1 v_2 \dots v_t }\) 是循环节。方便起见,我们记 \(a = u_1 u_2 \dots u_s, \ b = v_1 v_2 \dots v_t\)。则有

\[\begin{aligned} x &= 10 ^ {-s} \times a + 10 ^ {-s} \times b \times \left( 10 ^ {-t} + 10 ^ {-2t} + 10 ^ {-3t} + \cdots \right) \\ &= 10 ^ {-s} \times \left( a + b \times \lim _ {n \to \infty} \frac{10 ^ {-t} \times \left(1 - \left( 10 ^ {-t} \right) ^ n \right)}{1 - 10 ^ {-t}} \right) \\ &= 10 ^ {-s} \times \left(a + b \times \frac{10 ^ {-t}}{1 - 10 ^ {-t}} \right) \\ &= 10 ^ {-s} \times \left(a + \frac{b}{10 ^ t - 1} \right) \end{aligned} \]

(中间两步可能不太严谨,但是我没有学过高等数学,大概就这样吧。)又有 \(x \in (0, 1)\),这显然等价于既约真分数的形式。

既约真分数化为无限循环小数

对于任意满足“\(q\) 存在 \(2, 5\) 以外的质因数”的既约真分数 \(\dfrac{p}{q}\),我们希望构造出正整数 \(a, s, b, t\) 使得

\[\frac{p}{q} = 10 ^ {-s} \times \left(a + \frac{b}{10 ^ t - 1} \right) \tag{1} \]

这样就可以把“无限循环小数化为既约真分数”的过程逆推,把目标小数求出来。

考虑到 \(s, t\)\(a, b\) 的长度,所以有条件 \(a < 10 ^ s, b < 10 ^ t\)(既然是长度,为什么没有 \(a \ge 10 ^ {s - 1}, b \ge 10 ^ {t - 1}\)?这是因为小数的形式中允许前导 \(0\) 的存在)。

需要指出的是,\(( a, s, b, t)\) 并不是唯一的。例如对于小数 \(0.1\overline{3}\),最直接的一组解是 \((1, 1, 3, 1)\),但 \((13, 2, 3333, 4)\) 也是可以的。只要最终能满足

\[\frac{p}{q} = 10 ^ {-s} \times a + 10 ^ {-s} \times b \times \left( 10 ^ {-t} + 10 ^ {-2t} + 10 ^ {-3t} + \cdots \right) \]

就是一组可行的解。从实际意义上考虑,所有的解也都是等价的——仍以小数 \(0.1\overline{3}\) 和两组解 \((1, 1, 3, 1),(13, 2, 3333, 4)\) 为例:我可以把第一个 \(3\) 也当作非循环部分,和后面分开考虑,即 \(a = 13, \ s = 2\)\(3\) 循环等价于 \(3333\) 循环,即 \(b = 3333, \ t = 4\)

\((1)\) 式变形为

\[b = \frac{p}{q} \cdot 10 ^ s \cdot \left(10 ^ t - 1 \right) - a \cdot \left( 10 ^ t - 1 \right) \tag{2} \]

因式分解得

\[b = \left( 10 ^ t - 1 \right) \left(\frac{p}{q} \cdot 10 ^ s - a \right) \tag{3} \]

条件 1:\(b\) 是整数

考虑 \((2)\) 式。因为 \(b\) 是整数且 \(p \perp q\),所以 \(q \mid 10 ^ s \cdot \left( 10 ^ t - 1 \right)\)。根据条件,\(q\) 存在 \(2, 5\) 以外的质因数。为了整除,把 \(q\) 所有 \(2, 5\) 的质因数全部“交给”\(10 ^ s\),其他的所有质因数全部“交给”\(10 ^ t - 1\)。形式化地,我们设 \(q\) 除去所有 \(2\)\(5\) 的因数以后得到了 \(q'\)(即 \(q' = \max \left\{ x : x \mid q, \ 2 \nmid x, \ 5 \nmid x \right\}\)),则必有

\[\frac{q}{q'} \mid 10 ^ s, \ q' \mid 10 ^ t - 1 \]

由于 \(s\) 是我们自己构造,想多大都行,所以第一个式子是容易满足的。考虑第二个式子,变形得

\[10 ^ t \equiv 1 \pmod {q'} \]

因为 \(2 \nmid q', \ 5 \nmid q'\),所以 \(10 \perp q'\)。这个形式启发我们考虑 Euler 定理:\(t = \varphi(q')\) 满足要求。虽然这只是“\(b\) 是整数”的充分条件,并不必要,但考虑到解的不唯一性,这已经很令人喜出望外了。

条件 2:\(0 < a < 10 ^ s, \ 0 < b < 10 ^ t\)

\((3)\) 式代入 \(0 < b < 10 ^ t\),变形得

\[0 < \frac{p}{q} \cdot 10 ^ s - a < 1 + \frac{1}{10 ^ t - 1} \]

\(\dfrac{1}{10 ^ t - 1}\) 太小,将右边直接放缩为 \(1\),移项得

\[\frac{p}{q} \cdot 10 ^ s - 1 \le a < \frac{p}{q} \cdot 10 ^ s \]

(注意到这已经天然地满足了 \(a < 10 ^ s\) 的条件。)

则可令

\[a = \left\lceil \frac{p}{q} \cdot 10 ^ s \right\rceil - 1 \]

考虑到 \(a > 0\) 以及前面 \(\dfrac{q}{q'} \mid 10 ^ s\) 的要求,\(s\) 不能取太小。不过方便起见,我们让 \(s\) 在可能的范围内取最小值。形式化地,有

\[s = \min \left\{ x : \frac{q}{q'} \mid 10 ^ x, \ \left\lceil \frac{p}{q} \cdot 10 ^ x \right\rceil > 1 \right\} \]

(所谓“方便”,是因为 \(s\) 越小越接近“最直接”的那组解,即 \(a, s\)​ 恰好完全对应非循环部分的情形。)

此时 \(a, s, t\) 都已确定,代入 \((2)\) 式或 \((3)\) 式就可以求出 \(b\)

总结

我们令

\[\begin{aligned} &q' = \max \left\{ x : x \mid q, \ 2 \nmid x, \ 5 \nmid x \right\}, \\ &s = \min \left\{ x : \frac{q}{q'} \mid 10 ^ x, \ \left\lceil \frac{p}{q} \cdot 10 ^ x \right\rceil > 1 \right\}, \\ &a = \left\lceil \frac{p}{q} \cdot 10 ^ s \right\rceil - 1, \\ &t = \varphi(q'), \\ &b = \left( 10 ^ t - 1 \right) \left(\frac{p}{q} \cdot 10 ^ s - a \right) \end{aligned} \]

我们的构造应当是充分的,它满足了所有的条件:

  • \(a, s, b, t\) 都是正整数;
  • \(a < 10 ^ s, \ b < 10 ^ t\)
  • 满足 \((1)\) 式。

故有

\[\frac{p}{q} = 0.a\overline{b} \]


证毕。显然这还可以推广到任意进制。

目前我在网上搜索得到的证明中只给出了构造方案的存在性,没有人给出具体构造方法。我们还可以由此得出一个神奇的推论:对于任意不为 \(1\) 的正整数 \(n\) 和既约真分数 \(\dfrac{p}{q}\),若 \(n\) 进制下 \(\dfrac{p}{q}\) 是一个无限循环小数,那么循环节的长度一定是 \(\varphi (q')\) 的因数,其中 \(q' = \max \left\{ x : x \mid q, \ x \perp n \right\}\)

posted @ 2025-07-05 12:12  lzy20091001  阅读(67)  评论(0)    收藏  举报