有限的大数表示;也可能这个长除法会无限进行下去。同样可以证明,可能出现的余数个数是有限的(虽然不像在传统长除法中那么明显),所以将有理数展开,一定是循环大数。显然,这种新的长除法中每一步所做的事情跟欧几里得除法非常不同。欧几里得除法的原则是,余数一定比除数的绝对值小。而新的带余除法的原则是,余数一定要是进位单位的倍数。这种差别引起两个后果:(1)新的带余除法严重依赖于进位制,从而这种对有理数的扩展很可能依赖于进位制;(2)新的带余除法不是那么直接,不能像开头那个表展示的那样或者古人赌“数四”那样简单得到商数和余数。事实上,如果要保证这种新的带余除法对任何的分子分母x,y都一定能做,进位单位m必须满足比较严格的条件:m一定要是素数。接下来用一个例子来说明:把7/6展开为3-进制大数,
第一步,先“移位”,即把分子分母里所有的因子3都提出来:7/6=3-1×(7/2)
第二步,对7/2做新的带余除法:找一个商数s<3,使得余数(7-s×2)是3的倍数。由于数字比较小,这个不难,一个一个试就行了,很快就试出s=2,余数为7-2×2=3.
第三步,将上一步的余数移位,即,除以3,作为新的被除数:3/3=1.再做带余除法,1-2×2=-3.
接着进行移位和带余除法,-3/3=-1.现在(-1)-1×2=-3.
余数重复,所以商数将开始循环。因此我们得到
7/6=3-1×(2×30+2×31+1×32+1×33+1×34+......)=2×3-1+2×30+1×31+1×32+1×33+......
按照小数的习惯,从左到右幂次递减,则此大数记为
7/6=[......1112.2]3
再举一个例子,将5/8展开为7-进制大数:
5-5×8=-35,接着(-35/7)-2×8=-21,接着(-21/7)-4×8=-35,余数重复,商数开始循环,我们得到
5/8=[......424242425.]7
再看一个例子,将-1展开为5-进制大数:-1-4=-5,接着(-5/5)-4=-5,.....所以-1=[......444.]5这个例子显示负有理数可以展开为正的大数。
前面谈的都是展开算法和例子。现在我们需要理清一下思路。比如,怎样从循环小数展开或者大数展开得到原来的分数?对于小数,可以用等比数列求和公式,
[0.4232323......]拾=0.4+0.023×(1+0.01+0.001+......)
=0.4+0.023×limk→∞(1-0.01k)/(1-0.01)=2/5+(23/1000)×(100/99)=2/5+230/99=1348/495,
为方便起见我在计算过程和结果中都不加说明地使用了拾-进制表示。对于大数,同样有等比数列求和公式,比如
[......444.]5=4×(1+5+52+53+......)=
=4×limk→∞(1-5k)/(1-5)
如果我们强令当k趋近于无穷时5k→0,那我们正好得到有理数-1.在另一个稍微复杂一点的例子里,7-进制大数可以用等比数列求和公式化为一个极限,
[......424242425.]7=5+[420]7×(1+[100]7+[10000]7+......)=
=5+[420]7×(1+72+74+......)=5+[420]7×limk→∞(1-72k)/(1-72)
同样,如果我们强令7k→0,则得到有理数
5+(4×72+2×7)×(1/1-72)=5-([210]拾/[48]拾)=5/8
(计算过程中我总用到拾进制数,因为我们人类的乘法口诀是基于拾进制表示的,我不必为了避开拾进制而去找一堆小木棍儿来摆弄,还把这种原始计算过程千辛万苦地上一页 [1] [2] [3] [4] 下一页
|