Kombinatorik

S

SerdarB

Gast
Hallo,
folgendes Problem habe ich zu lösen und würde mich über eure Hilfe freuen:

Gegeben ist eine Liste mit 10 Elementen (Zahl 1 bis 10).
Davon sollen alle 2x 2er Kombinationen ohne Zurücklegen und ohne Reihenfolge gebildet werden.

Theorie:
2aus10 ergibt schon mal 45 Kombinationen
Aus den restlichen 8 sollen nochmal 2aus8=28 Kombinationen gebildet werden.
Insgesamt kommt man so auf 45*28=1260 Kombinationen.

Folgenden Code habe ich bis jetzt:
Java:
		// Arrayliste erstellen
		ArrayList<Integer> liste = new ArrayList<Integer>();
		
		// Liste mit den Zahlen 1-10 füllen
		for (int i=1; i<11; i++) {
			liste.add(i);
		}
		
		
		for (int i=0; i<liste.size(); i++) {
			for (int j=i+1; j<liste.size(); j++) {
				System.out.println(""+liste.get(i)+" "+liste.get(j));
				
				
				
			}
		}
 
S

SerdarB

Gast
Ich bin jetzt soweit dass ich die 2er Kombos aus 10 Elementen mit der For-Schleife bekomme. (siehe code)

Wie kann ich die 2 aus den restlichen 8 Elementen bekommen??
 

Marco13

Top Contributor
Welcher code?

Im Zweifelsfall wird man vielleicht (im Pseudocode!) sowas machen können wie
Java:
List<Integer> ALL = ...
for (lists of 2 elements from ALL)
{
    List<Integer> REMAINING= new ArrayList<Integer>(ALL);
    REMAINING.removeAll(twoElements);
    for (lists of 2 elements from REMAINING)
    {
        // here they are...
    }
}
 

Ähnliche Java Themen


Oben