Generator liczb od 1 do 30. Generator liczb losowych

26.06.2020

Aby wygenerować liczby losowe w wymaganym zakresie, najlepiej skorzystać z internetowego generatora liczb losowych. Obecność dużej liczby opcji pozwoli wybrać wymaganą liczbę liczb losowych, a także określić wartość końcową i początkową.

Instrukcja generatora liczb online (randomizatora):

Domyślnie generator liczb losowych jest wprowadzany z 1 liczbą. Jeśli zmienisz ustawienia aplikacji, możesz jednocześnie wygenerować do 250 liczb losowych. Najpierw musisz ustawić zakres. Maksymalna wartość liczby to 9 999 999 999. Generator liczb losowych umożliwia porządkowanie liczb w porządku malejącym, rosnącym lub losowym.

Aby wyświetlić wynik, możesz użyć różnych separatorów: średnika, przecinka i spacji. Ponadto możliwe jest powtórzenie. Opcja „Wyklucz powtórzenia” pozwoli Ci pozbyć się duplikatów. Możesz również przesłać link do wykonanych obliczeń przez komunikator lub e-mail kopiując "Link do wyniku".

Mamy ciąg liczb, składający się z prawie niezależnych elementów, które podlegają danemu rozkładowi. Zwykle równomiernie rozłożone.

Możesz generować losowe liczby w Excelu na różne sposoby. Przyjrzyjmy się najlepszym z nich.

Funkcja liczb losowych w Excelu

  1. Funkcja LOS zwraca losową liczbę rzeczywistą o rozkładzie równomiernym. Będzie mniejszy niż 1, większy lub równy 0.
  2. Funkcja RANDBETWEEN zwraca losową liczbę całkowitą.

Przyjrzyjmy się ich zastosowaniu na przykładach.

Wybieranie liczb losowych za pomocą RAND

Ta funkcja nie wymaga żadnych argumentów (RAND()).

Aby na przykład wygenerować losową liczbę rzeczywistą z przedziału od 1 do 5, użyj następującej formuły: =RAND()*(5-1)+1.

Zwrócona liczba losowa jest równomiernie rozłożona w przedziale.

Za każdym razem, gdy obliczany jest arkusz lub zmienia się wartość w dowolnej komórce arkusza, zwracana jest nowa liczba losowa. Jeśli chcesz zapisać wygenerowaną populację, możesz zastąpić formułę jej wartością.

  1. Klikamy na komórkę z losową liczbą.
  2. Zaznacz formułę na pasku formuły.
  3. Naciśnij klawisz F9. I WPISZ.

Sprawdźmy jednorodność rozkładu liczb losowych z pierwszej próby za pomocą histogramu rozkładu.


Zakres wartości pionowych to częstotliwość. Poziome - „kieszenie”.



Funkcja LOSOWA.MIĘDZY

Składnia funkcji RANDBETWEEN to (dolna granica; górna granica). Pierwszy argument musi być mniejszy niż drugi. W przeciwnym razie funkcja zgłosi błąd. Zakłada się, że granice są liczbami całkowitymi. Formuła odrzuca część ułamkową.

Przykład użycia funkcji:

Liczby losowe z dokładnością 0,1 i 0,01:

Jak zrobić generator liczb losowych w Excelu

Zróbmy generator liczb losowych z generowaniem wartości z określonego zakresu. Używamy formuły takiej jak: =INDEKS(A1:A10;LICZBA CAŁKOWITA(RAND()*10)+1).

Zróbmy generator liczb losowych w zakresie od 0 do 100 z krokiem 10.

Z listy wartości tekstowych musisz wybrać 2 losowe. Za pomocą funkcji RAND porównujemy wartości tekstowe z zakresu A1:A7 z liczbami losowymi.

Użyjmy funkcji INDEKS, aby wybrać dwie losowe wartości tekstowe z oryginalnej listy.

Aby wybrać jedną losową wartość z listy, zastosuj następującą formułę: =INDEX(A1:A7,RANDBETWEEN(1,COUNT(A1:A7))).

Generator liczb losowych o rozkładzie normalnym

Funkcje RAND i RANDBETWEEN generują liczby losowe o pojedynczym rozkładzie. Dowolna wartość z takim samym prawdopodobieństwem może mieścić się w dolnej granicy żądanego zakresu iw górnej. Okazuje się ogromny spread od wartości docelowej.

Rozkład normalny oznacza, że ​​większość wygenerowanych liczb jest zbliżona do celu. Poprawmy formułę RANDBETWEEN i utwórzmy tablicę danych o rozkładzie normalnym.

Koszt towaru X wynosi 100 rubli. Cała wyprodukowana partia podlega rozkładowi normalnemu. Zmienna losowa ma również normalny rozkład prawdopodobieństwa.

W takich warunkach średnia wartość zakresu wynosi 100 rubli. Wygenerujmy tablicę i zbudujmy wykres o rozkładzie normalnym z odchyleniem standardowym 1,5 rubla.

Używamy funkcji: =NORMALNY.ODWR(RAND();100;1,5).

Excel obliczył, które wartości mieszczą się w przedziale prawdopodobieństw. Ponieważ prawdopodobieństwo wytworzenia produktu o koszcie 100 rubli jest maksymalne, formuła pokazuje wartości bliskie 100 częściej niż pozostałe.

Przejdźmy do plotkowania. Najpierw musisz utworzyć tabelę z kategoriami. W tym celu dzielimy tablicę na okresy:

Na podstawie uzyskanych danych możemy utworzyć diagram z rozkładem normalnym. Oś wartości to liczba zmiennych w przedziale, oś kategorii to okresy.

Prezentowany internetowy generator liczb losowych działa w oparciu o programowy generator liczb pseudolosowych wbudowany w JavaScript o jednolitym rozkładzie. Generowane są liczby całkowite. Domyślnie wyświetlanych jest 10 losowych liczb z zakresu 100...999, liczby są oddzielone spacjami.

Podstawowe ustawienia generatora liczb losowych:

  • Ilość liczb
  • Zakres liczb
  • Typ separatora
  • Włączanie/wyłączanie funkcji usuwania powtórzeń (dublety liczb)

Całkowita liczba jest formalnie ograniczona do 1000, maksymalna liczba to 1 miliard. Opcje separatora: spacja, przecinek, średnik.

Teraz już dokładnie wiesz, gdzie i jak zdobyć w Internecie darmową sekwencję liczb losowych z zadanego zakresu.

Przypadki użycia generatora liczb losowych

Generator liczb losowych (RNG na JS z jednolitą dystrybucją) będzie przydatny dla specjalistów SMM oraz właścicieli grup i społeczności w sieciach społecznościowych Instagram, Facebook, Vkontakte, Odnoklassniki do określania zwycięzców loterii, konkursów i losowań nagród.

Generator liczb losowych umożliwia losowanie nagród wśród dowolnej liczby uczestników z określoną liczbą zwycięzców. Konkursy mogą odbywać się bez repostów i komentarzy - sam ustalasz liczbę uczestników i interwał generowania liczb losowych. Możesz otrzymać zestaw losowych liczb online i za darmo na tej stronie i nie musisz instalować żadnej aplikacji na smartfonie ani programu na komputerze.

Ponadto do symulacji rzutu monetą lub kostką można użyć internetowego generatora liczb losowych. Ale nawiasem mówiąc, mamy oddzielne wyspecjalizowane usługi dla tych przypadków.

Czy zastanawiałeś się kiedyś, jak działa funkcja Math.random()? Co to jest liczba losowa i jak ją uzyskać? I wyobraź sobie pytanie na rozmowie kwalifikacyjnej - napisz swój generator liczb losowych w kilku liniach kodu. A więc co to jest wypadek i czy można go przewidzieć?

Jestem bardzo zafascynowany różnymi łamigłówkami i łamigłówkami informatycznymi, a generator liczb losowych jest jedną z takich łamigłówek. Zwykle na moim kanale telegramowym układam różnego rodzaju zagadki i różne zadania z wywiadów. Problem dotyczący generatora liczb losowych zyskał ogromną popularność i chciałem go uwiecznić w czeluściach jednego z autorytatywnych źródeł informacji - czyli tutaj na Habré.

Ten materiał przyda się wszystkim tym front-enderom i programistom Node.js, którzy są w czołówce technologicznej i chcą dostać się do projektu/startupu blockchain, gdzie zadaje się pytania o bezpieczeństwo i kryptografię, przynajmniej na podstawowym poziomie nawet przez programistów front-end.

Generator liczb pseudolosowych i generator liczb losowych

Aby uzyskać coś losowego, potrzebujemy źródła entropii, źródła pewnego rodzaju chaosu, z którego będziemy korzystać do generowania losowości.

To źródło służy do gromadzenia entropii, a następnie uzyskiwania z niej wartości początkowej (wartość początkowa, ziarno), która jest niezbędna generatorom liczb losowych (RNG) do generowania liczb losowych.

Generator liczb pseudolosowych wykorzystuje pojedynczą wartość początkową, stąd jego pseudolosowość, podczas gdy generator liczb losowych zawsze generuje liczbę losową, zaczynając od wysokiej jakości wartości losowej, która jest pobierana z różnych źródeł entropii.

Entropia - jest miarą nieporządku. Entropia informacyjna jest miarą niepewności lub nieprzewidywalności informacji.
Okazuje się, że aby stworzyć ciąg pseudolosowy, potrzebujemy algorytmu, który wygeneruje jakiś ciąg na podstawie określonego wzoru. Ale taką sekwencję można przewidzieć. Jednak wyobraźmy sobie, jak moglibyśmy napisać własny generator liczb losowych, gdybyśmy nie mieli Math.random()

PRNG ma pewien algorytm, który można odtworzyć.
RNG - pobiera liczby całkowicie z dowolnego szumu, możliwość obliczenia, który dąży do zera. Jednocześnie RNG ma pewne algorytmy wyrównywania rozkładu.

Wymyślenie własnego algorytmu PRNG

Generator liczb pseudolosowych (PRNG) to algorytm generujący sekwencję liczb, których elementy są prawie niezależne od siebie i podlegają zadanemu rozkładowi (zwykle jednolitemu).
Możemy wziąć ciąg pewnych liczb i pobrać z nich moduł liczby. Najprostszy przykład, jaki przychodzi mi do głowy. Musimy się zastanowić jaką sekwencję wziąć i z czego moduł. Jeśli tylko bezpośrednio od 0 do N i modułu 2, otrzymasz generator 1 i 0:

Funkcja* rand() ( const n = 100; const mod = 2; niech i = 0; while (true) ( ​​yield i % mod; if (i++ > n) i = 0; ) ) niech i = 0; for (niech x z rand()) ( if (i++ > 100) break; console.log(x); )
Ta funkcja generuje dla nas sekwencję 01010101010101… i nie można jej nawet nazwać pseudolosową. Aby generator był losowy, musi przejść test dla następnego bitu. Ale nie mamy takiego zadania. Niemniej jednak nawet bez żadnych testów jesteśmy w stanie przewidzieć następną sekwencję, co oznacza, że ​​taki algorytm nie nadaje się na czoło, ale jesteśmy w dobrym kierunku.

Ale co, jeśli weźmiemy jakiś dobrze znany, ale nieliniowy ciąg, na przykład liczbę PI. A jako wartość modułu przyjmiemy nie 2, ale coś innego. Możesz nawet pomyśleć o zmianie wartości modułu. Kolejność cyfr w liczbie Pi uważana jest za przypadkową. Generator może pracować przy użyciu liczby pi, zaczynając od nieznanego punktu. Przykład takiego algorytmu z sekwencją opartą na PI i zmianą modulo:

Const vector = [...Math.PI.toFixed(48).replace(".",""]); funkcja* rand() ( for (niech i=3; i<1000; i++) { if (i >99) i = 2; dla (niech n=0; n Ale w JS liczba PI może być wyświetlana tylko do 48 znaków i nie więcej. Dlatego nadal łatwo jest przewidzieć taką sekwencję, a każde uruchomienie takiego generatora zawsze będzie generować te same liczby. Ale nasz generator zaczął już pokazywać liczby od 0 do 9.

Mamy generator liczb od 0 do 9, ale rozkład jest bardzo nierówny i za każdym razem będzie generować tę samą sekwencję.

Możemy wziąć nie liczbę Pi, ale czas w reprezentacji numerycznej i traktować tę liczbę jako ciąg cyfr i aby sekwencja nie powtarzała się za każdym razem, będziemy czytać ją od końca. W sumie nasz algorytm dla naszego PRNG będzie wyglądał następująco:

Function* rand() ( niech newNumVector = () => [...(+nowa data)+""].reverse(); let vector = newNumVector(); niech i=2; while (true) ( ​​​​if ( i++ > 99) i = 2; niech n=-1; podczas gdy (++n< vector.length) yield (vector[n] % i); vector = newNumVector(); } } // TEST: let i = 0; for (let x of rand()) { if (i++ >100) przerwa; log.konsoli(x) )
Teraz wygląda jak generator liczb pseudolosowych. I ta sama Math.random() - jest PRNG, porozmawiamy o tym trochę później. Co więcej, za każdym razem pierwsza liczba jest inna.

Właściwie na tych prostych przykładach możesz zrozumieć, jak działają bardziej złożone generatory liczb losowych. Istnieją nawet gotowe algorytmy. Na przykład przeanalizujmy jeden z nich - jest to Linear Congruent PRNG (LCPRNG).

Liniowy kongruentny PRNG

Linear Congruential PRNG (LCPRNG) -  to powszechna metoda generowania liczb pseudolosowych. Nie ma siły kryptograficznej. Metoda ta polega na obliczeniu wyrazów liniowego ciągu powtarzalnego modulo pewnej liczby naturalnej m określonej wzorem. Otrzymany ciąg zależy od wyboru liczby początkowej - tj. nasionko. Dla różnych wartości początkowych uzyskuje się różne sekwencje liczb losowych. Przykład implementacji takiego algorytmu w JavaScript:

Stała a = 45; stała c = 21; stała m = 67; varseed = 2; const rand = () => ziarno = (a * ziarno + c) % m; dla (niech i=0; i<30; i++) console.log(rand())
Wiele języków programowania wykorzystuje LCPRNG (ale nie tylko taki algorytm (!).

Jak wspomniano powyżej, taką sekwencję można przewidzieć. Dlaczego więc potrzebujemy PRNG? Jeśli mówimy o bezpieczeństwie, to PRNG jest problemem. Jeśli mówimy o innych zadaniach, to te właściwości  -  mogą odegrać plus. Na przykład w przypadku różnych efektów specjalnych i animacji graficznych może być konieczne częste wywoływanie funkcji random. I tutaj ważny jest rozkład wartości i wydajność! Algorytmy bezpieczeństwa nie mogą pochwalić się szybkością.

Kolejna właściwość - odtwarzalność. Niektóre implementacje pozwalają określić ziarno, co jest bardzo przydatne, jeśli sekwencja ma się powtórzyć. Reprodukcja jest konieczna na przykład w testach. I jest wiele innych rzeczy, które nie wymagają bezpiecznego RNG.

Jak działa funkcja Math.random().

Metoda Math.random() zwraca pseudolosową liczbę zmiennoprzecinkową z zakresu = crypto.getRandomValues(new Uint8Array(1)); dziennik konsoli (rwartość)
Ale w przeciwieństwie do PRNG Math.random(), ta metoda wymaga bardzo dużych zasobów. Faktem jest, że ten generator używa wywołań systemowych w systemie operacyjnym, aby uzyskać dostęp do źródeł entropii (adres maku, procesor, temperatura itp.).

Pomóż serwisowi jednym kliknięciem: Powiedz znajomym o generatorze!

Generator liczb online za 1 kliknięciem

Generator liczb losowych, który jest prezentowany na naszej stronie, jest bardzo wygodny. Na przykład może być używany w losowaniach i loteriach w celu wyłonienia zwycięzcy. Zwycięzcy są określani w ten sposób: program podaje jedną lub więcej liczb w dowolnym określonym przez Ciebie zakresie. Manipulacja wynikami może zostać natychmiast wyeliminowana. I dzięki temu zwycięzca zostaje wyłoniony w uczciwym wyborze.

Czasami trzeba uzyskać określoną liczbę liczb losowych na raz. Na przykład chcesz wypełnić los na loterię „4 z 35”, ufając przypadkowi. Możesz sprawdzić: jeśli rzucisz monetą 32 razy, jakie jest prawdopodobieństwo, że wypadnie 10 rewersów pod rząd (również orzeł/reszka mogą być przypisane liczbami 0 i 1)?

Losowa instrukcja wideo online - randomizer

Nasz generator liczb jest bardzo łatwy w użyciu. Nie wymaga pobierania programu na komputer - można z niego korzystać online. Aby uzyskać potrzebną liczbę, musisz ustawić zakres liczb losowych, liczbę i, jeśli chcesz, separator liczb i wykluczyć powtórzenia.

Aby wygenerować liczby losowe w określonym zakresie częstotliwości:

  • Wybierz zakres;
  • Określ liczbę liczb losowych;
  • Funkcja „separator liczb” służy pięknu i wygodzie ich wyświetlania;
  • W razie potrzeby włącz / wyłącz powtórzenia za pomocą znacznika wyboru;
  • Kliknij przycisk „Generuj”.

W rezultacie otrzymasz losowe liczby z zadanego zakresu. Wynik generatora liczb można skopiować lub przesłać na e-mail. Najlepiej byłoby zrobić zrzut ekranu lub film z tego procesu generowania. Nasz randomizer rozwiąże każdy Twój problem!



Podobne artykuły