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
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
