Pennytüte Geschrieben 18. November 2016 Geschrieben 18. November 2016 (bearbeitet) 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 2016 von Pennytüte Zitieren
Gast apehead Geschrieben 18. November 2016 Geschrieben 18. November 2016 (bearbeitet) 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 2016 von apehead Zitieren
Pennytüte Geschrieben 18. November 2016 Autor Geschrieben 18. November 2016 (bearbeitet) Ok, seh' schon. 2 Lösung ist falsch. Bearbeitet 18. November 2016 von Pennytüte Zitieren
Tekina Geschrieben 1. Februar 2017 Geschrieben 1. Februar 2017 Warum nicht so ? : var random = new Random(); var randomNumber = random.Next(33,126); Zitieren
Griller Geschrieben 1. Februar 2017 Geschrieben 1. Februar 2017 (bearbeitet) 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 2017 von Listener Zitieren
larsson Geschrieben 11. Februar 2017 Geschrieben 11. Februar 2017 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. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.