fastvampire Geschrieben 16. Dezember 2009 Teilen Geschrieben 16. Dezember 2009 Hallo, ich habe folgendes Problem: Ich möchte aus einer Liste mit 30 Zahlen (von 1 - 30) diese in Bit umgerechnet haben. Jedoch kann der Benutzer auswählen, welche der Zahlen aus dieser Liste genommen werden kann, wodurch 30^2 Möglichkeiten enstehen. Wie stellt man dieses am einfachsten dar, da für die Kombinationsmöglichkeiten nur eine 4 Stellige Zahl zur Verfügung steht. Ausgewählt wird z.B. 3, 5, 8, 25, 29 oder 1, 10, 14, 24, 30 oder 1, 9 Liste aus 30 Zahlen => umwandeln in eine 4stellige Zahl => herausfinden welche Zahl aus der Liste genommen wurde. Wie würdet ihr dabei vorgehen? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 16. Dezember 2009 Teilen Geschrieben 16. Dezember 2009 Jedoch kann der Benutzer auswählen, welche der Zahlen aus dieser Liste genommen werden kann, wodurch 30^2 Möglichkeiten enstehen. Es sind 2^30, das sind ein paar mehr. Wie stellt man dieses am einfachsten dar, da für die Kombinationsmöglichkeiten nur eine 4 Stellige Zahl zur Verfügung steht. Indem man für die Darstellung ein Zahlensystem mit der Basis 181 benutzt. Im Ernst: Wie willst du über 1 Milliarde Kombinationen in 4 Stellen packen? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
fastvampire Geschrieben 16. Dezember 2009 Autor Teilen Geschrieben 16. Dezember 2009 OK, dann reduziere ich das auf das konkrete Problem. Wie oben beschreiben, jedoch sollen in der 4Stelligen Zahl so viele Kombinationen wie möglich rein. Mir fehlt zur Zeit ein Ansatzpunkt, den ich weiter verfolgen kann. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 16. Dezember 2009 Teilen Geschrieben 16. Dezember 2009 OK, dann reduziere ich das auf das konkrete Problem. Wie oben beschreiben, jedoch sollen in der 4Stelligen Zahl so viele Kombinationen wie möglich rein.In eine vierstellige Zahl im Dezimalsystem kannst du genau 10^4 = 10.000 Kombinationen stecken. Mir fehlt zur Zeit ein Ansatzpunkt, den ich weiter verfolgen kann.Ein Ansatz wofür? Welche 10.000 du abbilden willst? Denk dir eine beliebige Ordnungsrelation für die Kombinationen aus, und nimm dann die ersten 10.000. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
fastvampire Geschrieben 16. Dezember 2009 Autor Teilen Geschrieben 16. Dezember 2009 Also zur Erklärung: Auswahl an Zahlen von (1-30): 5, 9, 12, 18, 21, 24 werden nun z.B zu der folgenden Dezimalzahl: 3283 (jedoch max 9999) Aus den 3283 würde ich wieder gern die zuvor ausgewählten Zahlen ZURÜCKgenerieren. So das als Endergebnis wieder: 5,9,12,18,21,24 entsteht. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 16. Dezember 2009 Teilen Geschrieben 16. Dezember 2009 Aus den 3283 würde ich wieder gern die zuvor ausgewählten Zahlen ZURÜCKgenerieren. So das als Endergebnis wieder: 5,9,12,18,21,24 entsteht.Wie gesagt, denk dir eine Ordnungsrelation für die Kombinationen aus, bei der genau diese Kombination an 3283. Stelle steht. Dann kannst du einfach abzählen. Darauf läuft es hinaus. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
fastvampire Geschrieben 16. Dezember 2009 Autor Teilen Geschrieben 16. Dezember 2009 Also du meinst nun sowas in der Art? 1, 2 => 1 und 2 11,12 => 1 bis 3 21,22,23 => 1 bis 4 31,32,33,34 => 1 bis 5 41,42,43,44,45 => 1 bis 6 51,52,53,54,55,56 => 1 bis 7 61,62,63,64,65,66,67 => 1 bis 8 71,72,73,74,75,76,77,78 => 1 bis 9 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 16. Dezember 2009 Teilen Geschrieben 16. Dezember 2009 Ich habe keine Ahnung, was du damit sagen willst. Ich dachte, die Zahlen gehen nur bis 30. :confused: Wie auch immer: Du hast 2^30 Kombinationen. Du kannst die sortieren, z.B. erst die "leere Kombination", dann alle mit einer Zahl, dann die mit 2 Zahlen usw. Die Kombinationen mit gleicher Zahlenanzahl könntest du dann nach der ersten Zahl aufsteigend sortieren, bei Gleicheit nach der nächsten Zahl usw. Von dieser Sortierung nimmst du dann die ersten 10.000 Kombinationen, dann hast du deine Zuordnung. Damit deckst du alle Kombinationen mit 0, 1 oder 2 Zahlen ab, und einige mit 3 Zahlen. Wenn du andere Kombinationen abbilden willst, musst du nur anders sortieren. Beispielsweise könntest du die Kombinationen mit genau 6 Zahlen, die 5, 9, 12 und 18 enthalten, vor alle anderen einsortieren, dann ist deine Beispielkombination in den ersten 10.000 dabei. Das einzige, was du dann wissen musst, um aus der vierstelligen Zahl wieder die Kombination zu ermitteln, ist die verwendete Sortierung. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.