C# :: Aufgabe #227 :: Lösung #3
6 Lösungen
#227
Durchnummerierung aller möglichen geordneten Ziehungsergebnisse bei 6 aus 49
Anfänger - C#
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ß!
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ß!
#3
von Layn (100 Punkte)
- 18.09.2018 um 14:34 Uhr
C#-Code
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Lottozahlen { class Program { static void Main(string[] args) { int zahl = 0; int zahl1 = 1; int zahl2 = 2; int zahl3 = 3; int zahl4 = 4; int zahl5 = 5; int zahl6 = 6; int zahlEnde = 1; for (zahl1 = 1; zahl1 < 49; zahl1++) { zahl = zahl1; while ( zahl == zahl2 | zahl == zahl3 | zahl == zahl4 | zahl == zahl5 | zahl == zahl6) { zahl1++; zahl = zahl1; } Zahl6(zahl1, zahl2, zahl3, zahl4, zahl5, ref zahl6, ref zahlEnde, zahl); zahl6 = zahl1 + 1; Zahl5(zahl1, zahl2, zahl3, zahl4, ref zahl5, ref zahl6, ref zahlEnde, zahl); zahl5 = zahl1 + 1; Zahl4(zahl1, zahl2, zahl3, ref zahl4, ref zahl5, ref zahl6, ref zahlEnde, zahl); zahl4 = zahl1 + 1; Zahl3(zahl1, zahl2, ref zahl3, ref zahl4, ref zahl5, ref zahl6, ref zahlEnde, zahl); zahl3 = zahl1 + 1; Zahl2(zahl1, ref zahl2, ref zahl3, ref zahl4, ref zahl5, ref zahl6, ref zahlEnde, zahl); zahl2 = zahl1 + 1; Ausgabe(zahl1, zahl2, zahl3, zahl4, zahl5, zahl6, zahlEnde, zahl); zahlEnde++; } Console.ReadKey(); } private static void Zahl2(int zahl1, ref int zahl2, ref int zahl3, ref int zahl4, ref int zahl5, ref int zahl6, ref int zahlEnde, int zahl) { for (zahl2 = zahl1 + 1; zahl2 < 49; zahl2++) { zahl = zahl2; while (zahl == zahl1 | zahl == zahl3 | zahl == zahl4 | zahl == zahl5 | zahl == zahl6) { zahl2++; zahl = zahl2; } Ausgabe(zahl1, zahl2, zahl3, zahl4, zahl5, zahl6, zahlEnde, zahl); zahlEnde++; Zahl6(zahl1, zahl2, zahl3, zahl4, zahl5, ref zahl6, ref zahlEnde, zahl); Zahl5(zahl1, zahl2, zahl3, zahl4, ref zahl5, ref zahl6, ref zahlEnde, zahl); Zahl4(zahl1, zahl2, zahl3, ref zahl4, ref zahl5, ref zahl6, ref zahlEnde, zahl); Zahl3(zahl1, zahl2, ref zahl3, ref zahl4, ref zahl5, ref zahl6, ref zahlEnde, zahl); } } private static void Zahl3(int zahl1, int zahl2, ref int zahl3, ref int zahl4, ref int zahl5, ref int zahl6, ref int zahlEnde, int zahl) { for (zahl3 = zahl1 + 1; zahl3 < 49; zahl3++) { zahl = zahl3; while (zahl == zahl1 | zahl == zahl2 | zahl == zahl4 | zahl == zahl5 | zahl == zahl6) { zahl3++; zahl = zahl3; } Ausgabe(zahl1, zahl2, zahl3, zahl4, zahl5, zahl6, zahlEnde, zahl); zahlEnde++; Zahl6(zahl1, zahl2, zahl3, zahl4, zahl5, ref zahl6, ref zahlEnde, zahl); Zahl5(zahl1, zahl2, zahl3, zahl4, ref zahl5, ref zahl6, ref zahlEnde, zahl); Zahl4(zahl1, zahl2, zahl3, ref zahl4, ref zahl5, ref zahl6, ref zahlEnde, zahl); } } private static void Zahl4(int zahl1, int zahl2, int zahl3, ref int zahl4, ref int zahl5, ref int zahl6, ref int zahlEnde, int zahl) { for (zahl4 = zahl1 + 1; zahl4 < 49; zahl4++) { zahl = zahl4; while (zahl == zahl1 | zahl == zahl2 | zahl == zahl3 | zahl == zahl5 | zahl == zahl6) { zahl4++; zahl = zahl4; } Ausgabe(zahl1, zahl2, zahl3, zahl4, zahl5, zahl6, zahlEnde, zahl); zahlEnde++; Zahl6(zahl1, zahl2, zahl3, zahl4, zahl5, ref zahl6, ref zahlEnde, zahl); Zahl5(zahl1, zahl2, zahl3, zahl4, ref zahl5, ref zahl6, ref zahlEnde, zahl); } } private static void Zahl5(int zahl1, int zahl2, int zahl3, int zahl4, ref int zahl5, ref int zahl6, ref int zahlEnde, int zahl) { for (zahl5 = zahl1 + 1; zahl5 < 49; zahl5++) { zahl = zahl5; while (zahl == zahl1 | zahl == zahl2 | zahl == zahl3 | zahl == zahl4 | zahl == zahl6) { zahl5++; zahl = zahl5; } Ausgabe(zahl1, zahl2, zahl3, zahl4, zahl5, zahl6, zahlEnde, zahl); zahlEnde++; Zahl6(zahl1, zahl2, zahl3, zahl4, zahl5, ref zahl6, ref zahlEnde, zahl); } } private static void Zahl6(int zahl1, int zahl2, int zahl3, int zahl4, int zahl5, ref int zahl6, ref int zahlEnde, int zahl) { for (zahl6 = zahl1 + 1; zahl6 < 49; zahl6++) { zahl = zahl6; while (zahl == zahl1 | zahl == zahl2 | zahl == zahl3 | zahl == zahl4 | zahl == zahl5 ) { zahl6++; zahl = zahl6; } Ausgabe(zahl1, zahl2, zahl3, zahl4, zahl5, zahl6, zahlEnde, zahl); zahlEnde++; } } private static void Ausgabe(int zahl1, int zahl2, int zahl3, int zahl4, int zahl5, int zahl6, int zahlEnde, int zahl) { if (zahl1 < 50 & zahl2 < 50 & zahl3 < 50 & zahl4 < 50 & zahl5 < 50 & zahl6 < 50) { Console.WriteLine("{0} - {1} - {2} - {3} - {4} - {5} : {6}", zahl1, zahl2, zahl3, zahl4, zahl5, zahl6, zahlEnde); } } } }
Kommentare:
Für diese Lösung gibt es noch keinen Kommentar
Seite 1 von 0
1