Algorithme pour trouver les numéros à partir d'une liste de taille n somme vers un autre numéro

J'ai un nombre décimal (appelons objectif) et une variété d'autres nombres décimaux (appelons le tableau éléments) et j'ai besoin de trouver toutes les combinaisons de numéros de éléments qui somme au but.

J'ai une préférence pour une solution en C# (.Net 2.0), mais que le meilleur algorithme de gagner quel que soit.

Votre signature de la méthode pourrait ressembler à quelque chose comme:

public decimal[][] Solve(decimal goal, decimal[] elements)

OriginalL'auteur Sam Meldrum | 2008-09-17