Java :: Aufgabe #209 :: Lösung #1

3 Lösungen Lösungen öffentlich
#209

Durchnummerierung aller möglichen geordneten Ziehungsergebnisse bei 6 aus 49

Anfänger - Java von hollst - 06.09.2018 um 10:28 Uhr
Beim Lotto 6 aus 49 gibt es bekanntlich 13.983.816 mögliche (geordnete) Ziehungsergebnisse (49 über 6).

Schreibe ein Programm, das jeder dieser Möglichkeiten eine natürliche Zahl zuordnet, also

1 2 3 4 5 6 -> 1
1 2 3 4 5 7 -> 2

...
...

44 45 46 47 48 49 -> 13.983.816

Viel Spaß!
#1
vote_ok
von max40 (60 Punkte) - 30.10.2018 um 20:05 Uhr
Quellcode ausblenden Java-Code
public static void main(String[] args) {

	int[] zahlen = { 1, 2, 3, 4, 5, 6 };

	long zaehler = 0;
	DecimalFormat nf = new DecimalFormat();

	while (true) {

		zaehler++;

		zahlen[5] = zahlen[5] + 1;
		if (zahlen[5] > 49) {
			zahlen[4] = zahlen[4] + 1;
			zahlen[5] = zahlen[4] + 1;
		}

		if (zahlen[4] > 48) {
			zahlen[3] = zahlen[3] + 1;
			zahlen[4] = zahlen[3] + 1;
			zahlen[5] = zahlen[4] + 1;
		}

		if (zahlen[3] > 47) {
			zahlen[2] = zahlen[2] + 1;
			zahlen[3] = zahlen[2] + 1;
			zahlen[4] = zahlen[3] + 1;
			zahlen[5] = zahlen[4] + 1;
		}

		if (zahlen[2] > 46) {
			zahlen[1] = zahlen[1] + 1;
			zahlen[2] = zahlen[1] + 1;
			zahlen[3] = zahlen[2] + 1;
			zahlen[4] = zahlen[3] + 1;
			zahlen[5] = zahlen[4] + 1;
		}

		if (zahlen[1] > 45) {
			zahlen[0] = zahlen[0] + 1;
			zahlen[1] = zahlen[0] + 1;
			zahlen[2] = zahlen[1] + 1;
			zahlen[3] = zahlen[2] + 1;
			zahlen[4] = zahlen[3] + 1;
			zahlen[5] = zahlen[4] + 1;
		}

		if (zahlen[0] > 44) {
			break;
		}
		System.out.println(Arrays.toString(zahlen) + " -> " + nf.format(zaehler));
		
	}

	System.out.println(zaehler);

}

Kommentare:

Für diese Lösung gibt es noch keinen Kommentar

Bitte melden Sie sich an um eine Kommentar zu schreiben.
Kommentar schreiben