Wieviele Möglichkeiten gibt es bei diesem Verfahren, brauche ne Formel dafür
-
Entweder stehe ich auf dem schlauch oder ich bin zu doof, jedenfalls
komme ich nicht darauf, wie ich das in eine einfache Formel packen kann.Mein Verfahren ist folgendes:
1. Ich habe einen endlichen String, z.b:
abcde2. Und nun möchte ich die Anzahl der maximalen Kombinationsmöglichkeiten für diesen String haben, wenn folgendes zutrifft:
A) Die Reihenfolge der Zeichen wird niemals verändert.
Der String wird für jede weitere Kombination hinten immer um ein Zeichen gekürzt.
C) Desweiteren dürfen für eine bestimmte Kombination immer 1 Zeichen aus dem String weggelassen werden.Im Prizip habe ich aus obigem String also folgende Kombinationsmöglichkeiten:
[B]Der Anfangsstring:[/B] abcde [b]Alle Kombinationen bei denen das letzte Zeichen entfernt worden ist:[/b] abcd abc ab a [b]Alle Kombinationen bei denen a entfernt worden ist und anschließend das letzte Zeichen entfernt worden ist[/b] bcde bcd bc b [b]Alle Kombinationen bei denen b entfernt worden ist und anschließend das letzte Zeichen entfernt worden ist[/b] acde acd ac a [b]Alle Kombinationen bei denen c entfernt worden ist und anschließend das letzte Zeichen entfernt worden ist[/b] abde abd ab a [b]Alle Kombinationen bei denen d entfernt worden ist und anschließend das letzte Zeichen entfernt worden ist[/b] abce abc ab a [b]Alle Kombinationen bei denen e entfernt worden ist und anschließend das letzte Zeichen entfernt worden ist[/b] abcd abc ab a
Da aber nun einige Kombinationen mehrfach vorkommen sieht das bereinigt so aus:
abcde abcd abc ab a bcde bcd bc b acde acd ac abde abd abce
Es gibt also insgesamt 15 Kombinationsmöglichkeiten.
Tja und jetzt will ich das ganze in eine Formel packen,
so daß ich die Kombinationsmöglichkeiten
für einen String beliebiger Länge jederzeit ausrechnen kann.Also z.b. nen String mit 8, anstatt 5 Zeichen:
abcdefghoder mit 12, anstatt 5 Zeichen:
abcdefghijklBleiben soll dabei, daß immmer nur maximal 1 Zeichen irgendwo innerhalb des
String (z.b. anfang, mitte etc.) entfernt werden kann
und an Ende maximal alle Zeichen entfernt werden können.
Außerdem darf die Reihenfolge nie verändert werden.
So etwas wie x^y geht also nicht.Wie packt man das in ne Formel?
Bzw. wie lautet die Formel für so etwas?
Kann man das überhaupt in eine einfache Formel packen?Es gibt z.b. für die Anzahl der Möglichkeiten in einem Byte folgende
Formel:
2^8 = 256 Möglichkeiten
bzw.
a^b für a die verfügbaren Zeichen und b für die Länge,
aber da ist die Reihenfolge egal.
Das funktioniert also nicht, aber dafür gibt es wenigstens eine Formel und ich brauche jetzt etwas ähnliches.
-
Auf dem Klo hatte ich gerade einen Lichtblick.
Und zwar ist mir die Formel für den kleinen Gauß eingefallen.
http://de.wikipedia.org/wiki/Gaußsche_SummenformelAlso
(n*(n+1))/2Das ergibt, wenn man für n = 5 einsetzt genau 15.
Und paßt im Großen und ganzen bei Längen von 3 und 4 Zeichen.Lediglich bei 3 Zeichen muß noch eine 1 addiert werden.
Haut das hin?
-
Hm, war wohl doch nicht.
Spätestens ab 6 Zeichen stimmts nicht mehr, da müßte 21 Kombinationsmöglichkeiten rauskommen.
Jedenfalls habe ich mir weiter Überlegungen gemacht.
In jedem Durchgang wird der String ja um 1 Zeichen gekürzt.
Bei Einer Stringlänge von 100 habe ich also erstmal 100 Kombinationsmöglichkeiten.
Da aber jetzt noch aus den 100 zeichen bei jedem Durchgang genau eines entfernt werden darf, habe ich 100*100 Kombinationen.Tja und hier ist das Problem, die Überlegung ist zwar erstmal richtig,
aber leider sind bei dieser Formel x*y auch die doppelten Kombinationen dabei
und die sollten ja eigentlich eleminiert werden.EDIT:
So, ich glaube ich hab's jetzt:
[code]
123456
12345
1234
123
12
1
23456
2345
234
23
2
1 3456
1 345
1 34
1 3
12 456
12 45
12 4
123 56
123 5
1234 6
[/QUOTE]Das ist nichts anderes als:
61 Kombinationen
51 "
41 "
31 "
21 "
11 "
Und das ganze dann als Summe gibt die Gesamtanzahl von 21.Also ist meine Formel:
Ergebnis = 1 + 2 + 3 + ... + nme = Genius
-
Äh, sorry, es wird noch besser.
Der kleine Gauss stimmt doch.
habe für 6 am Anfang nämlich ne falsche Zahl benutzt.Also ist die Formel:
(n(n+1))/2
me = Genius++
-
Für was braucht man diese Art von Kombinationen eigentlich??
-
titan99_ schrieb:
Für was braucht man diese Art von Kombinationen eigentlich??
Ich brauch's für nen Passwortcracker
-
Formelproblem schrieb:
...
Da aber nun einige Kombinationen mehrfach vorkommen sieht das bereinigt so aus:abcde abcd abc ab a bcde bcd bc b acde acd ac abde abd abce
Es gibt also insgesamt 15 Kombinationsmöglichkeiten.
...Das Alfabeet hat aber etwas mehr als nur 5 Buchstaben
-
abviele schrieb:
Das Alfabeet hat aber etwas mehr als nur 5 Buchstaben
Ja. Und? Was möchtest du mir jetzt damit sagen?
-
Das es bei einem fünfstelligen Wort ein paar Möglichkeiten mehr als nur 15 gibt. Angenommen es würden nur Großbuchstaben, ohne Umlaute zugelassen, das wären 26 Buchstaben. Damit ergeben sich bei einem fünfstelligen Wort 26^5 (sprich: sechsundzwanzig hoch fünf) Möglichkeiten.
MfG,
a.