1
venomes OP 以前没有读大学之前,初中老师忽悠我的算法:
如果 a=0.9 9 的循环,那么 10*a -a = 9 所以 a = 1 |
2
agagega 2019-03-15 18:12:25 +08:00 via iPhone
1 和 0.9 …之间这个鸿沟比你想象中的任何正数都要小,所以…
|
3
SeaRecluse 2019-03-19 10:53:04 +08:00
1/9*9 = 1
直观上怎么就不等于了,时间还能换空间呢 |
4
bengxy 2019-03-22 19:01:57 +08:00
有理数集合里不存在 0.9 循环这个数,或者说 0.9 循环和 1 是等价的,是值为 1 的两种写法
首先,无限循环小数是有理数的一种写法,所有无限循环小数都可以转化为分数的形式,转换公式为: 假设循环小数 X 的循环部分为 A,有 k 位,则有 10^k * x - x = A X = A / ( 10^k - 1) 而 0.9 循环找不到分数映射 0.3 循环*3 不是 0.9 循环,而是 1。 也可以这么理解,随便找个非 0 的数 x,自己除自己 x/x,个位上 0,从十分位开始,每一位上 9,除不尽。 http://tieba.baidu.com/photo/p?kw=逻辑&flux=1&tid=3113462825&pic_id=6be0bf4543a98226cd616af68882b9014b90eb67&pn=1&fp=2&see_lz=0&red_tag=g0074824257 而 a=0.9 循环这个定义本身就是不对的 |
6
necomancer 2019-05-15 18:13:13 +08:00
整数是很好定义的,说多了都是废话;
有理数是很好定义的,因为是俩整数商; 实数很操蛋,但是因为有理数在实轴上是稠密的,即可以定义一个实数为小于它的所有有理数的集合,比如 1 = {r:r<1,r\in Q}; 假定 A = {r:r<0.9999...,r\in Q},B={r:1,r\in Q},则 r\in A -> r<1-(1/10)^n -> r<1 -> r\in B; r\in B -> r=a/b<1 -> a<b,a,b\in Z -> a<=b-1 -> r =a/b<=1-1/b<1-(1/10)^b -> r\in A; A=B |
7
atuocn 2020-05-27 14:55:34 +08:00
1/3 = 0.99999...
1/3 x 3 = 1 按知乎上大佬的说法,这是 10 进制的缺陷,无法和实数一一对应。 |