精确表达浮点数

问题出自编程之美

如何将无限循环小数表示成分数

这里只考虑

0.a1a2...ana1a2....an........的情况

a1a2...an为循环节

设N=0.a1a2....an

N*10^n=a1a2...an+N

N(10^n-1)=a1a2...an

N=a1a2...an/(10^n-1)

比如对于无限循环小数0.(142857)

循环节为142857

转换为分数的形式为

142857/(10^6-1)=142857/999999=1/7

你可能感兴趣的:(精确表达浮点数)