CPermutation ist eine Klasse.
Eine Klasse legt man im VBA-Editor im Projekt-Explorer an: Rechtsklick -> Einfügen -> Klassenmodul
Ich hab den Code noch etwas geändert/erweitert und das mal als Datei hier hochgeladen.
Wenn ich das mit allen 10 Bohrungen laufen lasse (was ne Weile dauert) dann kommt am Ende die Reihenfolge {6 9 8 2 4 10 1 5 3 7} mit Sum = 45 heraus.
Der Algo ist nicht der beste, da geht noch einiges besser, aber er funktioniert erst mal.
Zum Beispiel könnte man noch versuchen die Anzahl der Berechnungen zu veringern (weil z.B. {6 9 8 2 4 10 1 5 3 7} und {7 3 5 1 10 4 2 8 9 6} das gleiche ergibt), was einem eine - in dem Ausmaß - erhebliche Zeitersparnis einbringen dürfte.
Quellcode kann man auch noch etwas "aufhübschen"... wie immer. ;)
|