Hola buenas,
Necesito ayuda con un problema que me ha surgido al hacer un ejercicio. Este trata de que, en python, nos pasan un número por parametro y le tenemos que devolver todas las posibles combinaciones de números enteros positivos que sumados den el número inicial (ej: nos dan el numero 4 y devolvemos ((1, 1, 1, 1), (1, 1, 2), (1, 3), (2, 2))).
El caso es que lo he intentado hacer pero no funciona. Ne cesito ayuda.
Mi código es:
suman=list()
aux=list()
cont=0
if n==1:
return suman
for i in range(n):
aux.append(1)
suman.append(tuple(aux))
for j in range(2,n):
for z in suman:
z=list(z)
for l in z:
if l==1:
z.remove(1)
cont+=1
if cont==j:
z.append(j)
suman.append(tuple(z))
print(suman)
return suman
Espero que me podais ayudar.
Un saludo
MOD: Etiqueta GeSHi.
El primer resultado de Google: http://stackoverflow.com/questions/2065553/get-all-numbers-that-add-up-to-a-number (http://stackoverflow.com/questions/2065553/get-all-numbers-that-add-up-to-a-number)
Saludos!