Dies ist keine Hausaufgabe =). Ich mache ein Projekt, das automatisch eine Liste von sequentiellen Computernamen generiert, und ich möchte eine Warnung hinzufügen, wenn die Liste eine verrückte lange Liste sein wird.Math - Finden Sie die Anzahl der Permutationen zwischen zwei Strings
Ich weiß, wie man die Anzahl der Permutationen von sagen A-ZZZ, aber ich habe eine Menge Zeit versuchen, eine Einschluss-Ausschluss-Set anwenden. Hier ist das Szenario, um es einfach zu halten, wird der Zeichensatz nur A - Z sein und Groß-/Kleinschreibung wird nicht beachtet, also "A" = "a".
Der Benutzer gibt den Bereich von "ABC" bis "AX" ein. Also muss ich nur zwischen diesen beiden zählen. Also würde die psudo-Logik die volle Gesamtzahl von A - ZZZ bekommen, dann muss ich alles vor "ABC" und alles nach "AX" ausschließen.
Die Frage ist also, wie finde ich die Anzahl vor "ABC" und nach "AX". Ich habe mir all meine alten, diskreten und mathematischen Bücher angeschaut, aber nichts passt wirklich, oder gibt mir die richtige Antwort, wenn ich die Nummern anschließe (n!/N1! * N2! ...). Ich habe sogar versucht, etwas wie das Konvertieren von Binär oder Hex in Dezimal zu machen, aber wie Sie wissen, ist das ein episches Fehlschlagen =).
Danke,
Dave
Danke Paul, das habe ich versucht, aber ich hatte es rückwärts. Also, wenn ich die Ziffern 0-9 hinzufügen möchte, also wäre die Menge a-z0-9, würde ich einfach von Ihrem ex ABC = 36^2 * 0 + 36^1 * 1 + 36^0 * 2 verwenden – MaxThrust
@MaxThrust genau. Die Basis der Zahl entspricht der Anzahl der Zeichen im verfügbaren Alphabet. froh zu helfen;) – Paul
War Dong gut, bis zum letzten Teil. Ich bekomme die AAA = 0, aber nicht wie ZZ = -1. das Wert für ZZ wäre 25,25, -1 (für den Raum), in dieser Reihenfolge. – MaxThrust