+1 Daumen
8,1k Aufrufe

Wieviele Kombinationsmöglichkeiten gibt es:

mögliche alphanumerische Werte von 0001 - 9999  Codes.xls (49 kb)

Bisher vorhandene Codes sind im Anhang. Nummern und Buchstaben sollen in jeder Kombination vorkommen.

Avatar von

Wofür die Excel-Datei?

Ich kann excel-Dateien nicht öffnen.

Reine numerische Codes z.B. 0000 dürfen nicht vorkommen ?
Reine Codes nur Buchstaben z.B. aaaa auch nicht ?


Zu Yakyu: Die Exel Datei war nur zur Information, welche Codes bisher angelegt sind.
Zu georgborn: Es können auch rein numerische Codes und reine Buchstaben Codes vorkommen.
Sigrid, was genau ist deine Frage? Wenn Du die 26 Buchstaben des Alphabets und die 10 Ziffern in Vierertupeln kombinieren möchtest, gibt es \(36^4\) Möglichkeiten. Das scheint aber nicht das zu sein, was du wissen möchtest...

Zu Gast: Das ist schon die Antwort auf meine Frage. Das Ausmass der Codes ist entscheidend für mein weiteres Vorgehen bezüglich einer Datenbankabfrage, die mir Lücken in der Reihe der Codes darstellen soll. Ob man das manuell bewältigen kann oder nicht.

In der anderen Antowort  wurde dir die Erstellung einer
Tabelle angeboten.
Ich selbst bin Programmierer und könnte dir eine Textdatei
mit allen 1679616 Kombinatiosnmöglichkeiten auch erstellen.

Kombi.txt
0000
0001
0002

usw.

Hallo georgborn, das wäre natürlich super, alle möglichen Werte in einer Spalte, die könnte ich dann mit PS PAD in  einem Schritt mit Hochkomma versehen.

Wenn du beim anderen Antwortgeber mit seinem Iterationsrechner
nochmals nachfragen willst wäre es mir lieb.

Ansonsten teile bitte das genaue Format der *.txt Datei mit

z.B.
'0000'  Zeilenumbruch
'0001'  Zeilenumbruch
usw

oder
0000  Zeilenumbruch
0001  Zeilenumbruch

Ja, werde ich nachfragen, ansonsten komme ich gerne auf deine Hilfe zurück. Vielen Dank

Dann werde ich das einmal anfertigen.
Ich weiß aber nicht wann ! Heute nachmittag ! Mal sehen.

kombi.zip (1,9 MB)

Hier ist die Datei von georgborn. Sie ist entpackt ca. 10 MB groß und es braucht etwas Zeit, je nach Rechner, sie einzulesen. Enthaltene Zeilen Text: 1.679.616

Danke georgborn und mathelounge, ich bin platt, habe das mal mit 4 Buchstaben und 4 Zahlen versucht aufzuschreiben, das hat mir schon gereicht.

Na wenn das kein schönes Beispiel für Effektivität und/oder Komprimierung ist:

10 MB zu 214 Byte ≈ 46948 fache Verkleinerung bei fast identischem Informationsinhalt :-)

( nur die Reihenfolge ist etwas anders und selbst die ZIP mit 1.9MB ergibt noch zu 213 einen Faktor von etwa 8920 )

So sieht der Quellcode in Turbo Pascal aus.
1/2 Stunde Arbeit.

procedure kombi ;

type str1 = string[1] ;

const
max = 36 ;

feld : array [1..max] of str1 =
('a','b','c','d','e','f','g','h','i','j','k','l','m','n',
'o','p','q','r','s','t','u','v','w','x','y','z',
'0','1','2','3','4','5','6','7','8','9') ;

var l1,l2,l3,l4 : byte ;
    s : string ;
    t : text ;

begin
assign(t,'kombi.txt') ;
rewrite(t);
for l1:=1 to max do
 for l2:=1 to max do
  for l3:=1 to max do
   for l4:=1 to max do
    begin
    s:= feld[l1] + feld[l2] + feld[l3] + feld[l4];
    writeln(t,s);
    end;
close(t);
end; // kombi

Vielen Dank georgborn.

1 Antwort

+1 Daumen
 
Beste Antwort

Thema: "Variation mit Wiederholung"

siehe http://www.lamprechts.de/gerd/php/RechnerMitUmkehrfunktion.php

Funktion "Variationen..."

Fall: z=1

Auswahl an y=4 Elementen

x= Basis 10 + 26 Buchstaben = 36 mögliche Zeichen pro Ziffer

also 36^4

Bild Mathematik

Beim Zahlenschloss hast Du 10 mögliche Ziffern: höchste Zahl = 9999

und die eine 0000 dazu macht 10^4=10000 Variationen.

Probe mit der Funktion FromBase2Base(x, y=vonBasis, z= nachBasis)

Bild Mathematik

Wenn Du alle 1679616 Kombinationen in einer Datei haben möchtest, melde Dich.

Der Iterationsrechner kann so etwas z.B.

Avatar von 5,7 k

Vielen Dank für die Berechnung. Es kann auch nur numerische Codes oder nur aus Buchstaben bestehende Codes geben. Eine Darstellung dieser Codes in einer Exeltabelle wäre natürlich super, da ich dann diese Tabelle mit der angehängten Tabelle abgleichen könnte und auf Lücken abfragen könnte mit einen SQL.

Ich habe mir den Iterationsrechner angeschaut, kann aber die Formel für meine Berechnung nicht aufstellen. Könntest du mir die Formel entwickeln, ich kann das nicht. Die Berechnung kann ich ja dann selbst ausführen.

Einfach das Beispiel 101 leicht abwandeln ergibt:

http://www.gerdlamprecht.de/Roemisch_JAVA.htm##@Na=@P36,4);b=a/3;c=b*2;@N@Bi]=('000'+i.toString(36)).slice(-4);@Ci]=('000'+(i+b).toString(36)).slice(-4);aD[i]=('000'+(i+c).toString(36)).slice(-4);@Ni%3E=b@N0@N0@N#


Bild Mathematik

Crome Browser ist schneller als IE!! (bei mir um 1 Sekunde rum)

Du kannst auch erst mal ohne aC und aD arbeiten, damit sich das besser für EXCEL kopieren lässt.

Hinweis: aC wird nicht angezeigt, wenn es kein aB gibt!

Das kleine o lässt sich gut von der 0 unterscheiden.

Vielen Dank hyperG, damit kann ich mich auch ein bisschen mit dem Iterationsrechner vertraut machen.

Da führende Nullen nur in der 1. Spalte auftauchen, ist

aB[i]=('000'+i.toString(36)).slice(-4); aC[i]=(i+b).toString(36); aD[i]=(i+c).toString(36);

noch kürzer und schneller. (einfache Wandlung der Dezimalzahl in eine Basis 36)

Die längere Wartezeit gegenüber der angezeigten Zeit entsteht durch die Formatierung der Tabelle (35 MB).

Die 64 Bit Version von Google Chrome ist leider 0,3 s langsamer als die 32 Bit Version

(1,3 s statt 1 s) und Multitasking wird bei JavaScript auch noch nicht unterstützt (i7 CPU nur zu 13% ausgelastet).

Mit Initialisierung b=a; und nur

Iteration: aB[i]=('000'+i.toString(36)).slice(-4);   

kann man alles in eine Spalte bekommen -> muss dann aber neuere Browser wie Chrome 64 Bit nehmen, da

die alte InternetExplorer Version Speicherfehler erzeugt!

Ein anderes Problem?

Stell deine Frage

Willkommen bei der Mathelounge! Stell deine Frage einfach und kostenlos

x
Made by a lovely community