您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

python的fractions.limit_denominator是如何实现的?

5b51 2022/1/14 8:20:33 python 字数 1879 阅读 467 来源 www.jb51.cc/python

limit_denominator(max_denominator=1000000) Finds and returns the closest Fraction to self that has denominator at most max_denominator. This method is useful for finding rational approximations to a g

概述

limit_denominator(max_denominator=1000000)
Finds and returns the closest Fraction to self that has denominator at most max_denominator. This method is useful for finding rational approximations to a given floating-point number:

>>>
>>> from fractions import Fraction
>>> Fraction('3.1415926535897932').limit_denominator(1000)
Fraction(355,113)

它不应该像尝试/ 999,b / 998,c / 997 ..并找到最佳近似值.

# Algorithm notes: For any real number x,define a *best upper
    # approximation* to x to be a rational number p/q such that:
    #
    #   (1) p/q >= x,and
    #   (2) if p/q > r/s >= x then s > q,for any rational r/s.
    #
    # Define *best lower approximation* similarly.  Then it can be
    # proved that a rational number is a best upper or lower
    # approximation to x if,and only if,it is a convergent or
    # semiconvergent of the (unique shortest) continued fraction
    # associated to x.
    #
    # To find a best rational approximation with denominator <= M,# we find the best upper and lower approximations with
    # denominator <= M and take whichever of these is closer to x.
    # In the event of a tie,the bound with smaller denominator is
    # chosen.  If both denominators are equal (which can happen
    # only when max_denominator == 1 and self is midway between
    # two integers) the lower bound---i.e.,the floor of self,is
    # taken.

总结

以上是编程之家为你收集整理的python的fractions.limit_denominator是如何实现的?全部内容,希望文章能够帮你解决python的fractions.limit_denominator是如何实现的?所遇到的程序开发问题。


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶