Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> nielosowych generator liczb
golab
post
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.
Go to the top of the page
+Quote Post
redeemer
post
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%)
-----


Cytat(golab @ 2.09.2014, 14:47:52 ) *
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!
Co to znaczy na podstawie liczby? Chodzi Ci o seed? mt_srand() + mt_rand() nie rozwiązuje Twojego problemu?
Go to the top of the page
+Quote Post
Crozin
post
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.
Go to the top of the page
+Quote Post
nospor
post
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ę
Go to the top of the page
+Quote Post
golab
post
Post #5





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 15.03.2013

Ostrzeżenie: (0%)
-----


Cytat(redeemer @ 2.09.2014, 15:03:54 ) *
Co to znaczy na podstawie liczby? Chodzi Ci o seed? mt_srand() + mt_rand() nie rozwiązuje Twojego problemu?


Cytat(Crozin @ 2.09.2014, 15:19:55 ) *
I zdecyduj się czy mają to być liczby losowe czy mają dawać równomierny rozkład.


Czytajcie ze zrozumieniem

Cytat(nospor @ 2.09.2014, 15:25:25 ) *
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
Go to the top of the page
+Quote Post
redeemer
post
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%)
-----


Cytat(golab @ 3.09.2014, 23:59:01 ) *
Właśnie o to chodziło!
Liczba wynikowa jest pseudolosowa, ale zawsze taka sama dla danego $seed
Czyli dokładnie tak jak w przypadku mt_srand() + mt_rand()
Go to the top of the page
+Quote Post
celbarowicz
post
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
Go to the top of the page
+Quote Post
Pyton_000
post
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.
Go to the top of the page
+Quote Post
nospor
post
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...
Go to the top of the page
+Quote Post
Pyton_000
post
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)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 11:11