【发布时间】:2020-11-20 16:36:47
【问题描述】:
我做了一个简化函数,它工作正常,但并不完美。
def gcd(a, b):
while b > 0:
if a == 0:
return b
a, b = b, (a % b)
def add_frac(n1, d1, n2, d2):
g = gcd(d1, d2)
frac = (((n1 * d2) + (n2 * d1)) // g, (d1 * d2) // g)
return frac
当我尝试时:print(add_frac(1, 2, 1, 6))它返回 (4, 6)。我希望它是 (2, 3)。有什么帮助可以得到这个结果吗? 注意!我想在不使用import math的情况下得到结果
有效的示例:
print(add_frac(1, 2, 1, 4)) 给出 (3, 4)
【问题讨论】: