![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 23 Pomógł: 0 Dołączył: 15.03.2013 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
szukam sposobu na generowanie liczby długości, powiedzmy 50 znaków, na podstawie liczby długości 4-5 znaków. liczba ta nie może być losowa! tj. za każdym razem funkcja norand($seed) ma dać ten sam wynik, dla tego samego $seed. Niemniej zmiana $seed o 1 powinna dać jako rezultat na tyle inną liczbę, aby sprawiała wrażenie losowej. Z pewnością nie jestem pierwszą osobą, która rozwiązała ten problem (napisałem funkcję w oparciu o operacje *, % i pow()), lecz szukam rozwiązania które daje prawdziwie losowy (dla której rozkład normalny jest linią poziomą, a nie pofalowaną krzywą) rozrzut wyników. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 23 Pomógł: 0 Dołączył: 15.03.2013 Ostrzeżenie: (0%) ![]() ![]() |
Co to znaczy na podstawie liczby? Chodzi Ci o seed? mt_srand() + mt_rand() nie rozwiązuje Twojego problemu? I zdecyduj się czy mają to być liczby losowe czy mają dawać równomierny rozkład. Czytajcie ze zrozumieniem Zrob hasha ze swojej liczby, np md5 czy sha1, a potem kazdy znak tego hasha zamieniaj na odpowiednik liczbowy Właśnie o to chodziło! Liczba wynikowa jest pseudolosowa, ale zawsze taka sama dla danego $seed |
|
|
![]() ![]() |
![]() |
Aktualny czas: 9.10.2025 - 18:26 |