zoukankan      html  css  js  c++  java
  • Fractions to Decimals

    第二种的答案很精巧:

    商中出现循环小数,是因为分母除以了3、5、7及其乘幂,而2、5及其乘幂是仅有的不使分母出现循环小数的数(即任何数除以2、5都不会出现循环)。所以,我们可以利用这一点得出出现循环前的小数数位。

    在进行竖式除法时,都是给每个余数乘以一个10进行下次运算(就是补上一个0),而这个动作也可以视为被除数(分子)被乘上一个个10,而10也可视为5*2,即:当我们把分子分母分别用2和5进行约分后,分母(除数)中所包含的因子2的个数,与所包含的因子5的个数的两者中较大值即为小数中出现循环前数位个数(即:要使小数出现循环,必须把分母中的因子2和因子5全部约去,而后才会出现循环除不尽的情况),把循环前的各数位输出后,就可以输出循环位数了,而我们输出循环时只要记录第一个余数就行了。

    例如

    45/56   =  0.803(571428)
    45=5*9
    56=2*2*2*7
    所以在循环出现前,小数点后应该有三位
  • 相关阅读:
    Memcache第一篇---基础教程
    【分享】一位技术人员成长历程
    simhash
    Cookie mapping技术
    压缩编码基础知识
    shell vim--处理二进制文本
    CSDN泄漏数据完整分析
    day17 isinstance type issubclass 反射
    day16 类之间的关系 特殊成员
    day14 面向对象
  • 原文地址:https://www.cnblogs.com/growup/p/2108922.html
Copyright © 2011-2022 走看看