某种函数可以找到给定埃及分数的标准分数符号版本。
例如:
input: 3, 15
output: 2/5
为那些不熟悉埃及分数的人解释:
(1/3 + 1/15) = 18/45 = 2/5
什么样的方程式可以做到这一点?如果不是一个方程,那么什么操作集?
from fractions import Fraction
def egyptian(a, b):
frac = (Fraction(1.0/a) + Fraction(1.0/b)).limit_denominator()
return frac.numerator, frac.denominator
egyptian(3, 15)
>>> (2L, 5L)
这看起来更像是一道数学题,而不是 Python 题,但我会给你一些提示:
str.split
)int(x)
)加分数:a/b + c/d = (ad+cb)/bd
, as a
and c
are 1, 简化为(d+b)/db
如果您对添加和减少分数感到懒惰,或者看看这个