• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

c++ generator pseudoliczb

Object Storage Arubacloud
0 głosów
263 wizyt
pytanie zadane 30 października 2016 w C i C++ przez qlucha Obywatel (1,790 p.)
edycja 30 października 2016 przez qlucha
Witam Zastanawiam się nad wzorem Generatora liczb pseudo-losowych

x1=(s+b)%n

gdzie

x- wyznaczana liczba

s- ilosc sekund od 1970 r UTC

n - (zakres losowania od 0..... n-1)

i b -pewna wartość stała

TAK OBJASNIA TEN WZÓR MIROSŁAW ZELENT ,

NIE ROZUMIEM DO KOŃCA CO PODSTAWIĆ ZA b DO WZORU??

Co to jest ta b-" pewna wartość stała" ???
komentarz 30 października 2016 przez niezalogowany
Psudo-liczba? A nie liczba pseudo-losowa?
komentarz 30 października 2016 przez qlucha Obywatel (1,790 p.)
sory za błąd za bardzo potocznie nazwałem problem który mnie ciekawi.

Wiem że w informatyce ale nie tylko przy naukach ścisłych trzeba być w 100%

dokładnym i precyzyjnym aby na wyjściu otrzymać zamierzony efekt i produkt.

Ale zmęczenie podczas nauki programowania i przejęzyczenia się zdarzają,

tak zwany bug,:))

1 odpowiedź

0 głosów
odpowiedź 30 października 2016 przez MetGang Nałogowiec (34,360 p.)
Dowolna liczba, najlepiej w miarę duża (w zależności od typu danych) i będąca liczbą pierwszą.
komentarz 30 października 2016 przez qlucha Obywatel (1,790 p.)

czyli jeśli dobrze rozumiem to 

(s + b )

czyli  

sekundy czasu który upłyną od 1970 -dane pobrane przez PC z OS,  plus

 b - skąd PC pobiera tą daną ??? "Dowolna liczba, najlepiej w miarę duża (w zależności od typu danych) i będąca liczbą pierwszą."

komentarz 30 października 2016 przez MetGang Nałogowiec (34,360 p.)
Teoretycznie znikąd, po prostu ją wpisujesz, np.

x = (std::time() + 104729) % n
komentarz 30 października 2016 przez qlucha Obywatel (1,790 p.)
edycja 30 października 2016 przez qlucha
widziałem zapis kodu bez podawania tej liczby ,

rand()%100+1;

czyli automatycznie jeśli nie podam wewnątrz tej danej.tak samo jak sekundy.
komentarz 30 października 2016 przez MetGang Nałogowiec (34,360 p.)
static unsigned int seed = 1;
void srand (int newseed) {
    seed = (unsigned)newseed & 0x7fffffffU;
}
int rand (void) {
    seed = (seed * 1103515245U + 12345U) & 0x7fffffffU;
    return (int)seed;
}

Przykładowa implementacja tej (słabej zresztą) funkcji. Nic nie dzieje się automatycznie. Może być tylko "ubrane" w przyjemny interfejs.

Podobne pytania

0 głosów
1 odpowiedź 112 wizyt
pytanie zadane 20 stycznia 2023 w JavaScript przez pazo1313 Nowicjusz (140 p.)
0 głosów
0 odpowiedzi 877 wizyt
pytanie zadane 2 lipca 2021 w Python przez Nalesniolek Nowicjusz (180 p.)
–4 głosów
0 odpowiedzi 842 wizyt
pytanie zadane 12 czerwca 2021 w Python przez Nalesniolek Nowicjusz (180 p.)

92,555 zapytań

141,402 odpowiedzi

319,540 komentarzy

61,938 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...