有理数集与整数、有限小数、无限循环小数并集的等价性证明
命题
有理数集是封闭集,因此只需证明既约真分数集与 \((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\)。则有
(中间两步可能不太严谨,但是我没有学过高等数学,大概就这样吧。)又有 \(x \in (0, 1)\),这显然等价于既约真分数的形式。
既约真分数化为无限循环小数
对于任意满足“\(q\) 存在 \(2, 5\) 以外的质因数”的既约真分数 \(\dfrac{p}{q}\),我们希望构造出正整数 \(a, s, b, t\) 使得
这样就可以把“无限循环小数化为既约真分数”的过程逆推,把目标小数求出来。
考虑到 \(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)\) 也是可以的。只要最终能满足
就是一组可行的解。从实际意义上考虑,所有的解也都是等价的——仍以小数 \(0.1\overline{3}\) 和两组解 \((1, 1, 3, 1),(13, 2, 3333, 4)\) 为例:我可以把第一个 \(3\) 也当作非循环部分,和后面分开考虑,即 \(a = 13, \ s = 2\);\(3\) 循环等价于 \(3333\) 循环,即 \(b = 3333, \ t = 4\)。
将 \((1)\) 式变形为
因式分解得
条件 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\}\)),则必有
由于 \(s\) 是我们自己构造,想多大都行,所以第一个式子是容易满足的。考虑第二个式子,变形得
因为 \(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\),变形得
\(\dfrac{1}{10 ^ t - 1}\) 太小,将右边直接放缩为 \(1\),移项得
(注意到这已经天然地满足了 \(a < 10 ^ s\) 的条件。)
则可令
考虑到 \(a > 0\) 以及前面 \(\dfrac{q}{q'} \mid 10 ^ s\) 的要求,\(s\) 不能取太小。不过方便起见,我们让 \(s\) 在可能的范围内取最小值。形式化地,有
(所谓“方便”,是因为 \(s\) 越小越接近“最直接”的那组解,即 \(a, s\) 恰好完全对应非循环部分的情形。)
此时 \(a, s, t\) 都已确定,代入 \((2)\) 式或 \((3)\) 式就可以求出 \(b\)。
总结
我们令
我们的构造应当是充分的,它满足了所有的条件:
- \(a, s, b, t\) 都是正整数;
- \(a < 10 ^ s, \ b < 10 ^ t\);
- 满足 \((1)\) 式。
故有
证毕。显然这还可以推广到任意进制。
目前我在网上搜索得到的证明中只给出了构造方案的存在性,没有人给出具体构造方法。我们还可以由此得出一个神奇的推论:对于任意不为 \(1\) 的正整数 \(n\) 和既约真分数 \(\dfrac{p}{q}\),若 \(n\) 进制下 \(\dfrac{p}{q}\) 是一个无限循环小数,那么循环节的长度一定是 \(\varphi (q')\) 的因数,其中 \(q' = \max \left\{ x : x \mid q, \ x \perp n \right\}\)。
本文来自博客园,作者:lzy20091001,转载请注明原文链接:https://www.cnblogs.com/lzy20091001/p/18967116