此题分无脑解法和正统解法两种,分别来介绍一下吧。
假设:a是分子,b是分母。

一、无脑解法:

这个解法有点耍流氓,并没有真正意义上锻炼到思维,但还是说一下。
不管给什么分数,也不管能不能整除,直接把原数分解成a个1/b就行了。所以核心代码就2行。 也就是说第一个例子8/11,就被硬生生的分成8个1/11相加,然后竟然就通过了。

while True:
    try: 
        a, b = map(int, input().split('/'))
        print('+'.join([f'1/{b}' for i in range(a)])) 
    except: 
        break

-------------------------------------------------------------------

二、正统解法:

从a到0进行倒叙遍历,看有没有数可以被b整除,如果有,那么就把这个数添加到一个空列表中,最后把列表中的结果统一用加号串起来打印出来即可。当然如果遇到像11这种素数作为分母的分数,又非要分成埃及分数而且不耍流氓,那么就只能分子分母同时乘以10,这样问题就解决了。

while True:
    try:
        a, b = map(int, input().split('/'))
        a *= 10
        b *= 10
        res = []
        while a:
            for i in range(a, 0, -1):
                if b % i == 0:
                    res.append(f'1/{int(b/i)}')
                    a -= i
                    break
        print('+'.join(res))
    except:
        break