![]() |
![]() ![]() |
![]() |
![]()
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: 915 Pomógł: 210 Dołączył: 8.09.2009 Skąd: Tomaszów Lubelski/Wrocław Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
I zdecyduj się czy mają to być liczby losowe czy mają dawać równomierny rozkład.
|
|
|
![]()
Post
#4
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Zrob hasha ze swojej liczby, np md5 czy sha1, a potem kazdy znak tego hasha zamieniaj na odpowiednik liczbowy przy pomocy
http://pl1.php.net/manual/en/function.ord.php Bedziesz mial zawsze stałą zamianę liczby na inną liczbę |
|
|
![]()
Post
#5
|
|
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 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 915 Pomógł: 210 Dołączył: 8.09.2009 Skąd: Tomaszów Lubelski/Wrocław Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 253 Pomógł: 31 Dołączył: 30.03.2009 Skąd: Szczecin Ostrzeżenie: (0%) ![]() ![]() |
(IMG:style_emoticons/default/questionmark.gif) ?
Skoro liczba nie ma być losowa to jeżeli znasz liczbe nr 14 to powinieneś znać liczbę następną czyli nr 15 itd. Łatwo przecież taką funkcję napisać. Wystarczy użyć tabeli i książki telefonicznej. Co to jest liczba losowa? Jeżeli znasz liczbę nr 11 to nie możesz znać liczby nr 12.(totolotek) Szukasz kota który nie jest kotem? Ten post edytował celbarowicz 5.09.2014, 18:33:37 |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
Ehh...
Chodzi o to żeby liczbę 10 zamienić na dowolną losową liczbę ALE aby ponowna zamiana była już tą samą liczbą co wcześniej. Defacto chodzi o zachaszowanie cyfry w długi ciąg cyfr. |
|
|
![]()
Post
#9
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Pyton a najlepsze jest to, ze juz dawno zostalo wyjasnione o co chodzi i user już za to nawet podziękował... No ale jak widać ciagle dla niektorych polska jezyk trudna jezyk...
|
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
Polska kraj odległy, nie wiedzieć gdzie leży (IMG:style_emoticons/default/wink.gif) To już od polskiego chyba trudniejszy jest tylko chiński (IMG:style_emoticons/default/smile.gif)
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 11:11 |