把无限循环小数化为分数(转载,相当不错)

来源:互联网 发布:java解析两层xml字符串 编辑:程序博客网 时间:2024/05/02 04:24

把无限循环小数化为分数

给定一个无限循环小数,我们是否能把它化为分数呢?其实方法也很简单,其关键在于利用「无限循环」这一点。例如,给定小数0.272727...,如何把它化为分数呢?我们可以先把它写成

1 x 0.272727... = 0.272727... (1)

由于这个小数包含两个循环数字,我们把它乘以100:

100 x 0.272727... = 27.2727... (2)

接着用(2)减(1),利用无限循环的特点,把小数点后的数字全部去掉,得

99 x 0.272727... = 27 (3)

接着把(3)化简,得

0.272727... = 3/11

当循环数字并非包括小数点后所有数字时,我们便需要多一点工夫。例如要把小数0.11345345...化为分数,可以这样做:

100 x 0.11345345... = 11.345345...
100000 x 0.11345345... = 11345.345...
99900 x 0.11345345... = 11334
0.11345345... = 11334/99900 = 1889/16650

利用上述方法,我们还可以获得某些意想不到的结果。试把0.99...化为分数:

1 x 0.99... = 0.99...
10 x 0.99... = 9.99
9 x 0.99... = 9
0.99... = 1

于是,我们得到1的无限循环小数表达式除了是1.00...外,还可以是0.99...。事实上,我们可以证明,凡是「除得尽」的分数,除可表达为以无限个0结尾的循环小数外,还可表达为以无限个9结尾的循环小数。

是否存在无限不循环小数?

在以上的讨论中,我们在有理数(即分数)与无限循环小数间建立了一一对应关系。接着下来,我们要问,是否存在无限不循环小数?答案是肯定的,而且我们可以很容易地构造这样的小数。例如以下的小数便是无限不循环的:

0.101001000100001000001...

除了这些「人为」构造的数外,在中学我们还会学到很多这样的数,称为「无理数」(Irrational Number)(注3 )。例如,可以证明2的平方根、3的平方根、圆周率π、自然数底e等等都是无理数。事实上,从「集合论」( Set Theory)我们得知无理数的数目比有理数的数目多得多(注4)。不过由于本网页的主旨是有理数,笔者不在此讨论这些问题了。


注1:这里所指的循环并非指小数点后的所有数字均为循环数字,例如23/6的结果为3.8333...,这个小数的循环数字并不包含小数点后第1位的数字8。

注2:此一结果是初等数论(Number Theory)中著名的「除法演算Division Algorithm定理」。虽然我们在念小学和中学时不会正式学到数论的内容,但在我们进行无数次除法运算后,我们应能直观地自行「发现」此一定理。

注3:无理数的基本定义是不能表达为分数的实数。但由于在上面我们已看到分数等同于无限循环小数,所以我们可以得出以下结论:无理数就是无限不循环小数。

注4:套用集合论的说法,有理数集是「可数无穷集」(Countably Infinite Set),而无理数集则是「不可数无穷集」(Uncountably Infinite Set)。

原创粉丝点击