Veröffentlicht 18. November 20168 j Moin, in der Aufgabe soll eine zufällige Nummer generiert werden zwischen 33 - 126, dazu steht die Methode "random()" (liefert eine Zufallszahl zwischen 0 und 1 (1 exklusiv)) zur Verfügung. In der Lösung steht es so: ((126 - 33) * random() + 33 + 1) Liefert folgende Lösung nicht "exakt" das Gleiche? ((random() * 126) + 33) Bearbeitet 18. November 20168 j von Pennytüte
18. November 20168 j Hi! Das kannst du dir doch selbst ausrechnen. Nehmen wir 0,5 als Ergebnis von random() an: (126 - 33) * 0.5 + 33 + 1 => 93 * 0,5 + 33 + 1 => 46,5 + 33 + 1 = 80,5 (0,5 * 126) + 33 => 63 + 33 = 96,0 Offensichtlich sind die beiden Formeln nicht identisch. LG Bearbeitet 18. November 20168 j von apehead
18. November 20168 j Autor Ok, seh' schon. 2 Lösung ist falsch. Bearbeitet 18. November 20168 j von Pennytüte
1. Februar 20178 j Warum nicht so ? : var random = new Random(); var randomNumber = random.Next(33,126);
1. Februar 20178 j vor 23 Minuten schrieb Tekina: Warum nicht so ? : var random = new Random(); var randomNumber = random.Next(33,126); Weil die random-Funktion anders definiert ist. Sie liefert nur eine zufällige Zahl zwischen 0 und 1 Bearbeitet 1. Februar 20178 j von Listener
11. Februar 20178 j Soll es denn eine ganze Zahl sein? Wenn ja, wie wird in der Antwort von Float auf Int konvertiert? Wenn es keine ganze Zahl sein soll, wundert mich das +1 am Ende der Musterloesung. Denn (126-33)*0.999+33+1 = 126.99999, waehrend das obere Limit 126 sein soll.
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.