Forum: Programmieren allgemein
by Cöster,
7. Okt 2006
Hab ich das gesagt?
if Ein String = Das Wort then
ich hab gelogen
else
hab ich auch nie gesagt
@ Dino: Bei mir ist meine Variante ca. doppelt so schnell wie deine. :mrgreen: Aber bei 7 Zeichen ist die Geschwindigkeit ja sowieso nicht so wichtig.
Forum: Programmieren allgemein
by Cöster,
7. Okt 2006
Ja, aber wenn der String aus 13 verschiedenen Zeichen besteht, gibt es 13!, also 6227020800, Kombinationsmöglichkeiten. Das ist für die ListBox zu viel, die Funktion Factorioal geht auch nur bis zur Integergrenze und außerdem würde die Berechnung über 2 Wochen dauern. Bei 12 Zeichen würde es wahrscheinlich "nur" knapp über einem Tag dauern und die beiden anderen Probleme gäb's auch nicht.
Forum: Programmieren allgemein
by Cöster,
7. Okt 2006
Äh, nee, kann doch nur aus 12 Buchstaben/Zahlen bestehen, weil die Fakultät sonst nicht mehr in den Integerrahmen passt. Es braucht bei 8 Zeichen aber auch schon ca. 6 Sekunden, bei 9 über ner Minute, ein Progressbar wär wohl angebracht.
Dass Zeichen sich wiederholen können, hab ich jetzt auch gelöst: Bevor nach Kombinationen gesucht wird, werden die Zeichen sortiert. Pro Zeichen, welches...
Forum: Programmieren allgemein
by Cöster,
7. Okt 2006
Das hat mir jetzt keine Ruhe gelassen :stupid:
Hier mein Quellcode:
function TForm1.Factorial(const x: Byte): Word;
begin
if x > 1 then
result := x * Factorial(x - 1)
else
result := x;