每次取最大的埃及分数减掉就行了,主要是要约个分不然数值膨胀太快

a, b = map(int, input().split("/"))

def m(au, ad, bu, bd):
    if ad != bd:
        au *= bd
        bu *= ad
        ad *= bd
    au -= bu
    # 简单约分
    while au % 2 == 0 and ad % 2 == 0:
        au /= 2
        ad /= 2
    while au % 3 == 0 and ad % 3 == 0:
        au /= 3
        ad /= 3
    return au, ad

result = []
while a:
    r = b % a
    if r == 0:
        min_mom = b // a
    else:
        min_mom = b // a + 1
    a, b = m(a, b, 1, min_mom)
    result.append(min_mom)

print("+".join(map(lambda x: f"1/{int(x)}", result)))