为什么两数相除,商不可能是无限不循环小数?

2024-11-19 阅读 135
更新于 2024年11月22日
由于有理数可表示为 \dfrac{p}{q}\dfrac{p}{q} ,因此两个有理数相除可转换为整数相除。
因此只需要搞清楚整数相除为什么要么得到有限小数,要么得到无限循环小数。
假设我们有两个整数 m,nm,n ,不妨设都是正数,因为负数情况把符号单独处理一下即可。
我们现在来计算 m\div nm\div n 的小数形式。
怎么计算?当然是用长除法,即列竖式。
回想一下长除法我们在干什么?实际上,每一步都是在做带余除法。
由于除数是 nn 为一个整数,而带余除法的商和余数都是整数,且余数 rr 只能在 0,1,\cdots,n-10,1,\cdots,n-1 中取,只有这 nn 种情况。
这意味着余数的取法是有限的!
那么,如果长除过程没有在某时刻得到余数为0终止长除过程从而得到有限小数,那么一定在某个时刻会遇到之前出现过的余数,这个时刻运气最差也会在第 n-1n-1 次后到达。
而长除法始终只是在对余数乘上10后继续进行带余除法。那么可以想象,从该重复余数出现开始,后面的长除过程将重复之前的步骤,从而得到相同的商,即得到相同的小数位,直到再次回到该重复余数,继续之前的境遇,从而无限循环下去……
可以料想到,既然循环是因为余数的有限性,那么 \dfrac{m}{n}\dfrac{m}{n} 的循环节开始出现的位置不会晚于小数点后第 n-1n-1 位,且循环节长度不会长于 n-1n-1 位。因为最恶劣的情况也就是余数的 n-1n-1 种可能性被遍历一次。
可以试着做一些长除法感受一下: \dfrac{1}{7}=0.\dot{1}4285\dot{7}\\\dfrac{1}{7}=0.\dot{1}4285\dot{7}\\\dfrac{1}{17}=0.\dot{0}58823529411764\dot{7}\\\dfrac{1}{17}=0.\dot{0}58823529411764\dot{7}\\
设a 和b是两个有理数,根据有理数的定义可以得知可以表示为不可约分数分数形式,即 a=\frac{a_1}{a_2},b=\frac{b_1}{b_2},其中a_1,b_1为整数,a_2,b_2为非0整数,根据除法基本运算,可以得到\frac{a}{b}=\frac{a_1b_2}{a_2b_1}(此时根据0不能做除数,前提是b_1\ne0),此时得到的还是分数形式,即仍为有理数。 我还是想从有理数的定义出发,但感觉不是很好,前苏联的有本数学分析教程里有关于有理数和无理数的定义,首先是建立集合以及序关系,进一步进行戴德金分割做的,我认为那套方法可以很好的解释这个问题。设a 和b是两个有理数,根据有理数的定义可以得知可以表示为不可约分数分数形式,即 a=\frac{a_1}{a_2},b=\frac{b_1}{b_2},其中a_1,b_1为整数,a_2,b_2为非0整数,根据除法基本运算,可以得到\frac{a}{b}=\frac{a_1b_2}{a_2b_1}(此时根据0不能做除数,前提是b_1\ne0),此时得到的还是分数形式,即仍为有理数。 我还是想从有理数的定义出发,但感觉不是很好,前苏联的有本数学分析教程里有关于有理数和无理数的定义,首先是建立集合以及序关系,进一步进行戴德金分割做的,我认为那套方法可以很好的解释这个问题。
引理鸽巢原理(Pigeonhole Principle): 如果有n+1n+1个物体被放入nn个抽屉中,则至少有一个抽屉中会有两个或更多的物体。(直观理解也可以啦 ) 除法运算性质: 在进行除法运算时,每一步的余数必须小于除数。 证明问题设定设有理数为 \frac{p}{q}\frac{p}{q} 和 \frac{m}{n}\frac{m}{n},它们相除可表示为:
\frac{p}{q} / \frac{m}{n} = \frac{p \cdot n}{q \cdot m} = \frac{a}{b} \frac{p}{q} / \frac{m}{n} = \frac{p \cdot n}{q \cdot m} = \frac{a}{b}
其中 a = p \cdot na = p \cdot n,b = q \cdot mb = q \cdot m,由此 b \neq 0b \neq 0。
分析除法过程在进行长除法计算 \frac{a}{b}\frac{a}{b} 时,我们遵循以下步骤:
初始被除数:开始时,被除数为 aa。 长除法步骤: 整除与余数: 找出 aa 被 bb 整除的商和余数,表示为: a = k_0 \cdot b + r_0, \quad (0 \leq r_0 < b) a = k_0 \cdot b + r_0, \quad (0 \leq r_0 < b) 其中 k_0k_0 是商,r_0r_0 是余数。
更新被除数: 因为我们在计算小数时需向右移一位,因此新的被除数为: \text{新被除数} = r_0 \cdot 10 \text{新被除数} = r_0 \cdot 10
类似于标准的长除法,重复进行上述步骤:
r_0 \cdot 10 = k_1 \cdot b + r_1, \\ \quad (0 \leq r_1 < b) r_0 \cdot 10 = k_1 \cdot b + r_1, \\ \quad (0 \leq r_1 < b)
然后继续更新:
r_1 \cdot 10 = k_2 \cdot b + r_2,\\ \quad (0 \leq r_2 < b) r_1 \cdot 10 = k_2 \cdot b + r_2,\\ \quad (0 \leq r_2 < b)
以此类推。
余数的有限性与鸽巢原理余数的结论: 在每一步的计算中,余数 r_ir_i 只能取值于 0, 1, 2, \ldots, b-10, 1, 2, \ldots, b-1,因此我们总共有 bb 种可能的余数。
使用鸽巢原理: 假设我们进行了 kk 步计算,其中 k > bk > b。根据鸽巢原理,若 kk 个余数被置于 bb 个可能的值中,就必然有至少一个余数 r_ir_i 是重复的。例子分析计算 \frac{1}{7}\frac{1}{7}:
长除法步骤:11 ÷ 7 = 07 = 0 余 11(r_0 = 1r_0 = 1)1010 ÷ 7 = 17 = 1 余 33(r_1 = 3r_1 = 3)3030 ÷ 7 = 47 = 4 余 22(r_2 = 2r_2 = 2)2020 ÷ 7 = 27 = 2 余 66(r_3 = 6r_3 = 6)6060 ÷ 7 = 87 = 8 余 44(r_4 = 4r_4 = 4)4040 ÷ 7 = 57 = 5 余 55(r_5 = 5r_5 = 5)5050 ÷ 7 = 77 = 7 余 11(r_6 = 1r_6 = 1,此时 11 重复出现,那就回到了起点,看看第一条式子 ) 从上面步骤可见,每一步的余数只能是 0, 1, 2, 3, 4, 5, 60, 1, 2, 3, 4, 5, 6 中的某个数。然后,余数 11 在第8步第二次出现,回到起点,因此形成了循环,最终得到循环小数 0.142857...0.142857...。
结论我们就证明了:
如果第 kk 步的余数为 00,则说明该过程已经结束,得到了有限小数。若余数不为 00,则重复的余数意味着会有一个小数部分重复出现,导致循环小数的形成。
有理数是可以表示成两个整数之比的数。那么两个有理数相除可以表示成:(a/b)/(c/d)=ad/bc,a,b,c,d为整数。ad和bc为整数,那么ad/bc就是有理数了。
现在只需要说明两个整数之比要么有有限位,要么是无限循环小数。
考虑p/q,在辗转相除的时候,下一位是取余数*10再相除得到,如果除不尽,余数肯定在1到(q-1)之间,后面至少在辗转相除q次前会第二次出现一个特定的余数,后面就是相同的余数排列,在这个特定的余数第一次出现和第二次出现之间,形成循环。要么直接就除干净了。
因为余数是整数,取值范围是大于等于1,且不可能大于等于被除数。
只讨论商是小数的情况,假设被除数是M,第一次计算余数是M(1),第二次计算余数是M(2),则余数最多只有M-1个,设第M-1次计算余数是M(M-1)。
把这些数依次排列起来形成数列[M1,M2,M3,M4……M(M-1)]。
当进行第M次计算时,余数必然会落在数列中的某一个数,假设为M(k),则商数就会不断重复从M(k+1)到M(M-1)次运算的商数。
所以不会出现无理数。