两个算分数(比例)的小程序 [Python]

随手写的小程序 很小很实用, 尤其是在压片的时候计算sar值等方面.
第一个: 化简分数

恩, 简单说来, 就是化任意分数为最简分数

第二个: 小数化分数
给一个范围,用范围内的数组成分数,并使这个分数的值最接近所给的小数(如样例给的是1-100和1-1000的范围)


以下是全部代码:
第一个:

第二个:

23 thoughts on “两个算分数(比例)的小程序 [Python]”

    1. 假设有小数 a.bcdef,可以转换为 abcdef / 100000,求gcd,可化简成 m : n,这时m和n可能不在所需范围内,然后将两数中较大的缩小到所需范围,然后另一个按比例缩小,最后取整,至多再在附近找一两个数比较一下。

        1. 可以,就像 y = -Ax^2 + Bx + C,差不多是个倒U形,但是最高点不一定是整数,所以需要在附近取整。

          1. 比如 0.987654321 在10000 内, 可否举例说明一下怎样寻找?
            我的程序算出来的结果应该是 80:81, 没有更接近的了

            1. 之前的回帖好像有错,没有经过仔细考虑,是不能证明的那个方法有效的,只是通过这种方式能够以很小的代价找到比较近似的解。

    1. 谢谢..
      Ps: 贴代码可以用< #pre lang="c">< #/pre>去掉井号这对标签
      效果类似:

  1. 早安。我是推特上的 @mlusa ~
    学习了……话说我python总是看得懂一些看不懂一些的呃……

    1. 其实..我觉得py的语言特性极其简单了,看不懂的应该是逻辑结构(数据结构/算法)吧?这是所有语言通用的东西 ^_^

Leave a Reply

Your email address will not be published.