高赞题解详细注释版 | #将真分数分解为埃及分数#
将真分数分解为埃及分数
https://www.nowcoder.com/practice/e0480b2c6aa24bfba0935ffcca3ccb7b
while True: try: a, b = map(int, input().split('/')) # 因为有11这种素数作为分母的分数,所以只能分子分母同×10 a *= 10 b *= 10 res = [] # 结果列表 while a: # 当a不为0时 # 从a到0进行倒叙遍历,看是否有数可被b整除,如果有,将该数与分母进行约分并添加到结果列表中 for i in range(a, 0, -1): if b % i ==0: res.append('1/' + str(int(b/i))) a -= i # 分子减去可被b整除的数 break print('+'.join(res)) # 将结果列表中存储的埃及分数以“+”连接 except: break