python 无限循环小数_有关无限循环小数的一处漏洞

【摘 要】 几百年来,人们将无限循环小数划入有理数范围,并允许将其化为分数。本文证明无限循环小数扩大10、100、1000等倍数时将得到错误结果,进而证明将无限循环小数化为分数的行为是错误的,由此暴露出初等数学中存在着漏洞。

在现代数学中,无限循环小数被列入有理数。如0.111…、0.333…、0.999…等都被认为是有理数。

equation?tex=+%5E%7B%5B1%2C2%5D%7D

现在有一个问题:0.111…×10 = ?

全世界的中学生都会毫不犹豫地给出答案:1.111… 。

然而,这个结果是错误的。

下面用一个实例,证明无限循环小数乘以10时将会出错。

设n是无限循环小数 0.111… 中“1”的个数,很容易写出下列恒等式:

当n = 1时,10 × 0.1 = 1 + 0.1 ﹣ 0.1

当n = 2时,10 × 0.11 = 1 + 0.11 ﹣ 0.01

当n = 3时,10 × 0.111 = 1 + 0.111 ﹣ 0.001

当n = 4时,10 × 0.1111 = 1 + 0.1111 ﹣ 0.0001

当n = 5时,10 × 0.11111 = 1 + 0.11111 ﹣ 0.00001

……

当n = ∞ 时,10 × 0.111… = 1 + 0.111… ﹣

equation?tex=%5Cfrac%7B1%7D%7B10%5E%7B%5Cinfty%7D%7D

由于

equation?tex=%5Cfrac%7B1%7D%7B10%5E%7B%5Cinfty%7D%7D ≠ 0,所以

10 × 0.111… ≠ 1 + 0.111…

10 × 0.111… ≠ 1.111…

在上面的证明中,

equation?tex=%5Cfrac%7B1%7D%7B10%5E%7B%5Cinfty%7D%7D ≠0是关键的一步。可能有人会质疑:既然分母无穷大,那么

equation?tex=%5Cfrac%7B1%7D%7B10%5E%7B%5Cinfty%7D%7D 就与0没有区别,理应有

equation?tex=%5Cfrac%7B1%7D%7B10%5E%7B%5Cinfty%7D%7D = 0成立。

equation?tex=%5Cfrac%7B1%7D%7B10%5E%7B%5Cinfty%7D%7D 能否等于0呢?我们不妨用反证法来检验。

假设

equation?tex=%5Cfrac%7B1%7D%7B10%5E%7B%5Cinfty%7D%7D = 0,则必有

10 ×

equation?tex=%5Cfrac%7B1%7D%7B10%5E%7B%5Cinfty%7D%7D = 0

equation?tex=10%5E%7B2%7D ×

equation?tex=%5Cfrac%7B1%7D%7B10%5E%7B%5Cinfty%7D%7D = 0

equation?tex=10%5E%7B3%7D ×

equation?tex=%5Cfrac%7B1%7D%7B10%5E%7B%5Cinfty%7D%7D = 0

……

equation?tex=10%5E%7B%5Cinfty%7D%5Ctimes%5Cfrac%7B1%7D%7B10%5E%7B%5Cinfty%7D%7D = 0

即 1 = 0

因为“1 = 0”是明显的伪命题,因此

equation?tex=%5Cfrac%7B1%7D%7B10%5E%7B%5Cinfty%7D%7D = 0 的假设必然错误,正确的应该是

equation?tex=%5Cfrac%7B1%7D%7B10%5E%7B%5Cinfty%7D%7D ≠ 0。由此可知,前面的证明是完全正确的。

同样的道理,还可以得到

10 × 0.333… ≠ 3.333…

10 × 0.999… ≠ 9.999…

10 × 1.777… ≠ 17.777…

以上各式说明,无限循环小数扩大到10、100、1000等特殊倍数时,把小数点前移一位或数位的传统办法将得到错误的答案。

这是一个非常严重的问题。

在中学里,任何一个无限循环小数都可以化为分数。

equation?tex=+%5E%7B%5B3-5%5D%7D 在转化的过程中,都直接或间接地将无限循环小数扩大到10、100、1000等特殊倍数。具体过程见下面的例子。

例1:将无限循环小数0.272727…化为分数。

解:设 x = 0.272727…

把上式的两边同乘以100,得

100x = 27.2727… = 27 + 0.2727… =27 + x

移项并合并同类项,得

99x =27

equation?tex=x%3D%5Cfrac%7B27%7D%7B99%7D%3D%5Cfrac%7B3%7D%7B11%7D

equation?tex=0.272727%E2%80%A6+%3D+%5Cfrac%7B3%7D%7B11%7D

上述计算过程中,将无限循环小数乘以100,同时默认其结果是将小数点右移两位,这一行为是错误的,过程错误导致了结果错误。

例2:将无限循环小数0.108910891089…化为分数。

解:设 x = 0. 108910891089…

把上式的两边同乘以10000,得

10000x = 1089.10891089… = 1089 + 0.10891089… = 1089 + x

移项并合并同类项,得

9999x = 1089

equation?tex=x%3D%5Cfrac%7B1089%7D%7B9999%7D%3D%5Cfrac%7B11%7D%7B101%7D

equation?tex=0.+108910891089%E2%80%A6+%3D%5Cfrac%7B11%7D%7B101%7D

上述计算过程中,将无限循环小数乘以10000,同时默认其结果是将小数点右移4位,这是错误的,并最终导致结果错误。

例3:将无限循环小数0.999…化为分数。

解:设 x = 0. 999…

把上式的两边同乘以10,得

10x = 9.999… = 9+0.999… = 9+x

移项并合并同类项,得

9x = 9

x=1

上述计算过程中,将无限循环小数乘以10,同时默认其结果是将小数点右移1位,这是错误的,并最终导致结果错误。

例1、例2、例3的结果全是错误的。这说明初等数学的理论仍然不够完善,存在着漏洞,必须加以改进。

参考文献:

[1] 张书林. 无限循环小数是有理数. 锦州师专学报[J] (自然科学版), 1993, (1): 83,104

[2] 范玉秀. 化无限循环小数为分数. 中学生理科月刊[J], 1998, 12(5): 17

[3] 张亚玲. 借助方程理解如何化循环小数为分数. 数理天地(初中版) [J], 2017, (6): 2

[4] 张奠宙. 从0.999…=1说起. 数学教学[J], 2010, (5): 2-3,18

[5] 刘琳. 0.999…等于1吗. 初中数学教与学[J], 2011, (6): 40-41

2021. 2. 1 19:55

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值