Ich bin sicher, dass dieses Problem einen formellen Namen hat, und wenn ich diesen Namen kenne, würde es mir wahrscheinlich helfen, die Lösung zu finden, aber ich weiß es nicht, und das Problem für Google weist mich immer auf das Knapsack Problem , das ist nicht das Gleiche.
Ich möchte einen Wert X nehmen und jede mögliche Kombination finden, um diesen Wert in N Stapel ganzer Ganzzahlen aufzuteilen.
Falls meine Formulierung verwirrend ist, hier ist ein Beispiel von X = 4, N = 3
%Vor%Die Duplizierung ist akzeptabel, da sie leicht zu entfernen ist, aber idealerweise wird sie nicht berechnet. Ein Algorithmus zur Lösung des Problems wäre perfekt, aber selbst das Finden des Problems hätte einen Namen, der die Forschung erleichtern würde. Danke.
Dies sind in der Tat Integer-Partitionen als gelöschte Antwort Bemerkungen. Mit Mathematica :
%Vor%Ausgabe:
%Vor%Ich konnte keine C # -Implementierung finden, aber hier sind ein paar verwandte Fragen:
Eleganter Python-Code für die Integer-Partitionierung
Algorithmus zum Generieren ganzzahliger Partitionen
Google Treffer:
Algorithmus für Ganzzahlige Partitionen von Jerome Kelleher
Integer-Partitionalgorithmus von Daniel Scocco
Schnelle Algorithmen zum Generieren ganzzahliger Partitionen (PDF) (sieht stark aus)
Tags und Links algorithm c# math combinatorics