Kombinationen mit 3 Würfeln

Status
Nicht offen für weitere Antworten.

Fischfrosch

Neues Mitglied
Hallo ,

Ich habe eine Frage zu einer Aufgabe :

Man hat 3 Würfel. Man muss mit Java (Kara) ein Programm schreiben um herraus zu finden wie viele Möglichkeiten es gibt. Das war ja kein Problem und war schnell geschrieben.
Doch jetzt sollen wir alle doppelten Kombinationen herraus streichen z.B ( 123 = 321 =132)
Am Ende müssen nur die einzigartigen Kombinationen gezählt werden.
Doch ich weiß nicht wie ich auf dem bestehenden Programm weiter arbeiten muss.

Ich hoffe ihr könnt mir helfen ^^
 

Landei

Top Contributor
Wie wäre es, wenn du die einzelnen Werte in eine geeignete Datenstruktur (Liste oder Array) packst und sortierst?
 

Schandro

Top Contributor
Pack alle Kombinationsmöglichkeiten in ein
Code:
Set
(z.b.
Code:
HashSet
) und geb am Schluss
Code:
Set#size()
aus.

Die Frage ist halt, wie du die Kombinationsmöglichkeiten abspeichern willst. Das Object, in dem du jeweils eine Kombinationsmöglichkeit abspeicherst, muss aufjedenfall equals und hashCode für deine Zwecke richtig Implementiert haben...
 

Painii

Bekanntes Mitglied
Wär es nicht für ne eigene Implementierung auch richtig die Quersumme zu berechnen?


Ah, kurz überlegt, nein...
2, 2, 1 == 3, 1, 1 in der Quersumme.
 

Marco13

Top Contributor
Ja, hab' ich kurz überlegt, die man diesen Test (bzw. das Überschreiben von hashCode + equals) am günstigsten machen könnte... Am einfachsten wäre sicher, die Ergebnisse in einer List zu speichern und zu sortieren, und diese Lists dann in einem Set zu sammeln, aber ... effizient ist das sicher nicht...
 

Tharsonius

Bekanntes Mitglied
Wenn Du jede Würfelergebnisgruppe einheitlich speicherst, dann dürfte das einfacher sein, gleiche Ergebnisse zu filtern.

Wenn Du 1,2,3 würfelst speicherst Du 123.
Wenn Du 1,3,2 würfelst sortierst das ebenfalls nach dem niedrigsten zuerst und speicherst ebenfalls 123.

Wenn Du also bereits ein Programm hast, was Dir alle Würfelergebnisse ermittelt, dann würde ich einfach die Speicherung ändern und sortiert speichern.



Ansatz 2:
Du brauchst nicht mehr alle Gruppen erzeugen.

Die Innere Schleife beispielsweise könnte als Startwert den Wert der äußeren Schleife bekommen.
Wenn der erste Würfel bereits 1-4 generiert hat und mit 5 anfängt, dann braucht der zweite ja nicht bei 1 sonder für diesen Durchlauf erst ebenfalls bei 5 starten, weil 5,1 bereits ein doppel von 1,5 ist.
Bei 3 Schleifen startet die 2 mit dem aktuellen Wert der 1. und die dritte startet jeweils mit dem aktuellen Wert der zweiten Schleife.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Rekursive Kombinationen Java Basics - Anfänger-Themen 6
R0m1lly Kombinationen aus int array rekursiv Java Basics - Anfänger-Themen 2
C alle möglichen Kombinationen zweier Ziffern auf drei / vier / und 'n" Stellen Java Basics - Anfänger-Themen 11
C Array in allen Kombinationen ausfüllen Java Basics - Anfänger-Themen 17
S Summe aus Kombinationen /permutationen einer Liste mit einer Obergrenze Java Basics - Anfänger-Themen 10
D Alle möglichen Kombinationen in einem Array ausgeben Java Basics - Anfänger-Themen 2
L Best Practice Alle Kombinationen aus Listenelementen, Anzahl Listen unterschiedlich Java Basics - Anfänger-Themen 6
D Rekursiv Kombinationen ausgeben klappt nur bei einer Wiederholung Java Basics - Anfänger-Themen 4
Phash Kombinationen erzeugen Java Basics - Anfänger-Themen 4
L Kombinationen nur mit if/while erstellen Java Basics - Anfänger-Themen 2
B Kombinationen 3-dim Array Java Basics - Anfänger-Themen 5
D Kombinationen Quadratisches Array Java Basics - Anfänger-Themen 11
F 4 STrings in allen Kombinationen miteinander kombinieren Java Basics - Anfänger-Themen 2
-horn- Alle Kombinationen von Zahlenreihe ohne Doppelungen Java Basics - Anfänger-Themen 6
L Kombinationen einer Menge rekursiv berechnen Java Basics - Anfänger-Themen 11
K Kombinationen der Elemente einer ArrayList Java Basics - Anfänger-Themen 4
C Alle Möglichen Kombinationen eines Arrays Java Basics - Anfänger-Themen 5
F Knifflig: Kombinationen von Zeiträumen Java Basics - Anfänger-Themen 3
M Kombinationen von Objekten bilden Java Basics - Anfänger-Themen 5
sasnitzer java augensumme von zwei würfeln ist 1 Java Basics - Anfänger-Themen 8
JavaBeginner22 Würfeln bis 6 while Schleife Java Basics - Anfänger-Themen 13
E Augensumme bei Würfeln Java Basics - Anfänger-Themen 5
2 Alle Werte die mit n Würfeln mit m Seiten geworfen werden können in ein n Dimensionales Array Java Basics - Anfänger-Themen 15
J Würfeln Java Basics - Anfänger-Themen 15
Shaun Programm zum Würfeln Java Basics - Anfänger-Themen 12

Ähnliche Java Themen

Neue Themen


Oben