题解 | #将真分数分解为埃及分数#
将真分数分解为埃及分数
https://www.nowcoder.com/practice/e0480b2c6aa24bfba0935ffcca3ccb7b
from fractions import Fraction while True: try: m, n = map(int,input().split("/")) tem = Fraction(m, n) #获取分子和分母的值 m = Fraction(tem).numerator n = Fraction(tem).denominator #从二分之一开始,如果m/n大于二分之一就减二分之一,大于三分之一就减去三分之一,减到分子为一时 k = 2 while m != 1: if m / n > 1 / k: print(Fraction(1, k), end="+") #分数运算 tem = Fraction(m, n) - Fraction(1, k) m = Fraction(tem).numerator n = Fraction(tem).denominator else: k += 1 #把最后一个n分之一补上 print(Fraction(1, n)) except: break