假设当前小数为0.abc
①将小数点右移至最后一位右边
目前数字变为abc,记录右移位数x。
其他位数的纯小数以此类推。
假设当前小数为d.abc
先提出整数部分,对小数部分进行上面的
纯小数转分数步骤。在第二步的时候分子
变为p + d * q,其余步骤相同。
3.无限循环小数转分数
这个我举例子说明可能更清楚。
再比如小数1.... 723这个循环节。
很显然思路就是对于循环的部分,能得到一个有限的位数,
然后用分数表示出来,最后再跟前面不循环的部分通分。
纯小数转分数跟带小数转分数都比较好实现,我就不上代码了。
下面贴出无限循环小数转分数的代码。