Hallo Julian und Marc,
Die Variante ist schon recht gut, man kann das aber noch verbessern. Das ist vor allem interessant, wenn man sehr viele verschiedene Ereignisse hat.
Man ordnet die n Ereignisse in einer beliebigen aber festen Reihenfolge an.
Dann berechnet man ein Array mit n - 1 Einträgen. Eintrag i enthält die Summe der Wahrscheinlichkeiten der ersten i Ereignisse (Einen n. Eintrag braucht man nicht, da wäre die Summe ja immer 1)
Nun kann man eine Zufallszahl zwischen 0 und 1 ziehen und mit binärer Suche das i bestimmen, so dass array(i - 1) < zahl <= array(i) wobei die nicht vorhandenen Einträge als array(0) = 0 und array(1) = 1 definiert werden.
Grüße
Daniel