Python
Code:
def suminverse(n, rs=set(), xs=[]):
if sum(xs) == n and sum(map(lambda x: 1.0/x, xs)) == 1:
rs.add("%i -> %s" % (n, sorted(xs)))
return rs
elif sum(xs) > n:
return
for i in range(2, n/2+1):
if suminverse(n, rs, xs+[i]):
return rs
for r in suminverse(9): print r Vielleicht ist das ja ein Anreiz für einige Leute, den Code zu optimieren.
Einige Optimierungsmöglichkeiten kann man recht schnell erkennen, wenn man sich die Ergebnisse anschaut, die für kleinere Zahlen ausgegeben werden q0]
Gruß
Felix