题解 | 将真分数分解为埃及分数
将真分数分解为埃及分数
https://www.nowcoder.com/practice/e0480b2c6aa24bfba0935ffcca3ccb7b
import math
a,b = map(int,input().split('/'))
def divide(a,b):
if b % a == 0:
print(f"1/{b // a}")
else:
res = []
while a > 1:
q = b // a + 1
a = a * q - b
b = b * q
res.append(f"1/{q}")
common = math.gcd(a, b)
a //= common
b //= common
res.append(f"1/{b}")
print("+".join(res))
return 0
divide(a,b)
每次减去一个最大的单位分数,找最大公因数,约分,判断分子是否为1,若不是则继续减

查看18道真题和解析