Wie lautet die If Bedingung?
Grob gesagt ist meine Aufgabe in C# eine If-Schleife zu erstellen. In dieser soll eine zufällige Zahl zwischen -50 und 50 generiert werden. Die Bedingung soll nur bei einer Wahrscheinlichkeit von 4:10 zutreffen. Kann mir jemand einen Tipp geben wie die Bedingung aussehen soll?
mfg
1 Antwort
Eine Zufallszahl zwischen -50 und 50 ist ja eigentlich dasselbe wie eine Zufallszahl zwischen 0 und 100 mit einer anschließenden Verschiebung des Ergebnisses um 50 ins negative.
Damit bei "zwischen 0 und 100" etwas mit einer 40% Wahrscheinlichkeit gemacht wird könnte man die Bedingung
Wenn Zufallszahl < 40
verwenden. Bei den Zufallszahlen 0 bis 39 wäre die Bedingung erfüllt, bei den Zufallszahlen 40 bis 99 nicht. Eine perfekte 40 zu 60 Verteilung.
Jetzt verschieben wir die obige Bedingung noch um 50 ins negative und haben die Bedingung, die du in deinem Fall brauchst:
Wenn Zufallszahl < -10
Die Zahlen -50 bis -11 (40 Zahlen von 100) liegen Links davon, die Zahlen -10 bis 49 (60 Zahlen von 100) liegen rechts davon. Heißt die Chance für ersteres beträgt 40/100 = 4/10 = 40%.
Danke für die ausführliche Antwort. Hat mir sehr weitergeholfen.