Pisze właśnie moją pierwszą aplikację korzystającą z liczb losowych Random, wiem że są to liczby pseudolosowe ale mi program zwraca
liczby w stylu 1, 1, 1, 1, 2, 3. Czy da się to zrobić by przypominały one trochę bardziej liczby losowe?
Pisze właśnie moją pierwszą aplikację korzystającą z liczb losowych Random, wiem że są to liczby pseudolosowe ale mi program zwraca
liczby w stylu 1, 1, 1, 1, 2, 3. Czy da się to zrobić by przypominały one trochę bardziej liczby losowe?
Z tego co wiem to możesz sobie ustalić maksymalną i minimalną wartość tych liczb.
To wiem i w tym przykładzie co podałem było ustawione od 1 do 9, Ale zamiast dostać coś w tym stylu: 3746917 to dostaje 1112368.
Nie są one zbyt losowe…
Nie bardzo wiem, jakie kryterium spełnia pierwsza liczba, by nazwać ją “bardziej losową” od drugiej. Elaborate please. Poza tym pokaż kod jak tego używasz i może jakiś 10 wyników, aby uzasadnić czemu uważasz, że te liczby są “za mało losowe”.
Użyj takiej funkcji
Function GetRandom(ByVal Min As Integer, ByVal Max As Integer) As Integer
Dim r As New Random(System.DateTime.Now.Millisecond)
Return r.Next(Min, Max)
End Function
Kiedyś miałem podobny problem, jeszcze w TurboPascalu.
Jedynka pojawiala się nadwyraz często w porównaniu do innych liczb (losowoalem od 1 do 3)
Rozwiązałem go poprzez zwiększenie zakresu i dzielenie wyniku przez liczbe, tak aby mieć porzadany przedzial.