Combinar las cifras que sumen el valor más aproximado a otro dado

Estoy haciendo un programita donde dados 12 valores quiero encontrar cuales de ellos sumados me dan el más aproximado a otro valor dado.

Por ejemplo, teniendo los valores {123, 342, 734, 216, 132, 189, 210, 169, 298, 317, 462, 42}
Quiero encontrar cuales sumados dan el valor más cercano a 500 y que se encuentre entre 500 y 550.

Tengo claro el planteamiento, pero son muchas las combinaciones a analizar y le lleva mucho tiempo al procesador realizar la tarea.

Quisiera saber si hay alguna formula matemática para simplificar esa combinación.

2 respuestas

Respuesta
1

No creo que haya ninguna forma matemática para simplificarlo. Lo único que veo es poder optimizar el algoritmo dependiendo de cómo lo hayas planteado. Por ejemplo si previamente ordenas las cifras, ya puedes descartar algunas de las combinaciones por sobrepasamiento. Sólo es una idea.

Si anuncias tu algoritmo quizás te puedan ayudar a optimizarlo.

Respuesta

¿Lo planteás como un ejercicio teórico o como una necesidad concreta? Porque si tenés la necesidad de encontrar esa solución, entonces con el Excel podés usar el Solver que sirve para este tipo de situaciones. (Si te interesa dejame una dirección de mail y te paso el que tengo hecho que resuelve algo parecido a esto)

Salu2

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas