[VB.NET] Losowe liczby


(adan2013) #1

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?


(kalitt) #2

Z tego co wiem to możesz sobie ustalić maksymalną i minimalną wartość tych liczb.


(adan2013) #3

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…


(kostek135) #4

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”.


(lucas80) #5

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

(StawikPiast) #6

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.