Daniel Thoma: Lottozahlen

Beitrag lesen

Hallo Topher,

random() liefert Fließkommazahlen zwischen 0 und 1.
Du brauchst also erst mal eine Funktion, die Dir natürliche Zahlen aus einem Intervall zurückgibt.

int intRandom(int a, int b) {
   int result = floor((b - a + 1) * random());
   if(result > b) {
       result = b;
   }
   return result;
}

Auswählen willst Du Elemente aus einer Menge, also schreibst Du diese am besten mal auf. Dafür eignet Sich ein Array:

int[] zahlen = new int[] {1..49};

Nun musst Du nur noch 6 Zahlen daraus auswählen:

int[] lotto() {
    int[] zahlen = new int[] {1..49};
    int[] result = new int[6];
    for(int i in 0..5) {
        int pos = intRandom(zahlen.first, zahlen.last);
        result[i] = zahlen[pos];
        zahlen.remove(pos);
    }
    return result;
}

Das ist blos Pseudocode, aber die Idee sollte klar werden.

Grüße

Daniel