Kalkulatory.net.pl

Generator liczb losowych

Generator liczb losowych wybiera liczbę z podanego zakresu tak, że każda wartość ma dokładnie równe szanse.

Czytaj więcej…Ustaw zakres, podaj ile liczb chcesz wylosować i zdecyduj, czy mogą się powtarzać. Wynik pojawia się od razu, a losowość pochodzi z kryptograficznego generatora przeglądarki, nie z funkcji Math.random.
Aktualizacja: Opracowanie: Zespół Kalkulatory.net.pl
1Co losujesz?

Ustaw zakres i liczbę losowań sam albo weź gotowy zestaw obok.

2Z jakiego zakresu losujemy?

Zakres obejmuje 100 wartości, obie granice włącznie.

3Ile liczb i w jakiej kolejności?

Losowanie odbywa się w Twojej przeglądarce, wynik nie jest nigdzie wysyłany ani zapisywany.

Wprowadź swoje dane

Ustaw zakres i kliknij przycisk losowania. Zobaczysz wynik, jego sumę i historię losowań z tej sesji.

Jak wylosować liczby z zakresu

Losowanie zajmuje trzy decyzje: zakres, liczba losowań i zgoda na powtórzenia.

  1. Ustaw zakres. Wpisz dolną i górną granicę. Obie wchodzą do losowania, więc zakres od 1 do 6 obejmuje szóstkę, a zakres od 0 do 9 obejmuje zero. Liczby ujemne są dozwolone.
  2. Podaj, ile liczb wylosować. Domyślnie jedna, maksymalnie sto za jednym razem.
  3. Zdecyduj o powtórzeniach. Bez zaznaczonego pola każde losowanie jest niezależne i ta sama liczba może wypaść kilka razy. Z zaznaczonym polem każda wartość wypada co najwyżej raz.
  4. Wybierz kolejność wyniku. Kolejność losowania pokazuje, co wypadło jako pierwsze, a sortowanie rosnąco porządkuje wynik tak, jak zapisuje się kupon loteryjny.
  5. Kliknij przycisk losowania. Wynik pojawia się bez przeładowania strony, razem z sumą, kolejnością i przyciskiem kopiowania.

Kalkulator liczy w Twojej przeglądarce. Zakres 1 do 100 jest ustawiony od startu, więc pierwsze losowanie wymaga jednego kliknięcia i niczego więcej.

Czego nie zrobi losowarka w wynikach wyszukiwania

Widget Google losuje jedną liczbę z zakresu i to jest cała jego funkcja. Poniższe rzeczy trzeba zrobić gdzie indziej i po to istnieje ta strona.

  • Wiele liczb w jednym losowaniu. Do stu wartości naraz, zamiast klikania sto razy pod rząd.
  • Losowanie bez powtórzeń. Sześć różnych liczb na kupon, trzydziestu uczniów w losowej kolejności, pięciu zwycięzców z dwustu zgłoszeń. Widget powtórzeń nie pilnuje, więc przy losowaniu nagród potrafi wskazać dwa razy tę samą osobę.
  • Gotowe ustawienia loteryjne. Lotto 6 z 49 i Multi Multi 20 z 80 jednym kliknięciem, z sortowaniem rosnącym.
  • Historia losowań z bieżącej sesji. Widać, co wypadło wcześniej, więc losowanie da się udokumentować w protokole konkursowym.
  • Kopiowanie wyniku. Jeden przycisk zamiast przepisywania liczb ręcznie.
  • Jawne źródło losowości. Strona pisze, skąd bierze losowe bity i czy wynik da się przewidzieć. Widget tego nie tłumaczy.

Do losowania jednej liczby na szybko widget wystarcza i nie ma sensu udawać, że jest inaczej. Różnica zaczyna się przy drugiej liczbie.

Tabela ustawień: co wpisać do jakiego zadania

Poniższa tabela zbiera najczęstsze zastosowania generatora razem z kompletem ustawień. Wartości z kolumn „od" i „do" wchodzą do losowania.

Do czego losujeszOdDoLiczba losowańBez powtórzeńKolejność
Rzut kostką sześcienną161niedowolna
Liczba od 1 do 10011001niedowolna
Kupon Lotto (6 z 49)1496takrosnąco
Kupon Multi Multi (20 z 80)18020takrosnąco
Kupon Eurojackpot (5 z 50)1505takrosnąco
Zwycięzca konkursu z 250 zgłoszeń12501niedowolna
Trzech zwycięzców z 250 zgłoszeń12503takkolejność losowania
Kolejność odpowiadania w klasie 30 osób13030takkolejność losowania
Podział 24 osób na 4 zespoły po 612424takkolejność losowania
Losowa godzina doby0231niedowolna

Dwa ostatnie wiersze pokazują ten sam mechanizm w dwóch przebraniach. Podział na zespoły to nic innego niż wylosowanie całej listy w losowej kolejności i pocięcie jej na równe kawałki: pierwsze sześć numerów to zespół pierwszy, kolejne sześć drugi i tak dalej. Czy podział wyjdzie równy, sprawdzisz kalkulatorem NWW i NWD, bo liczba osób musi dzielić się przez liczbę zespołów bez reszty.

Losowanie bez powtórzeń: co to dokładnie znaczy

Bez powtórzeń oznacza, że raz wylosowana wartość znika z puli i nie może wypaść drugi raz. To odpowiednik ciągnięcia kul z worka bez wrzucania ich z powrotem.

Różnica między trybami jest widoczna od razu. Przy sześciu losowaniach z zakresu 1 do 49 z powtórzeniami szansa, że jakaś liczba wypadnie dwa razy, wynosi około 27 procent, czyli zdarza się to mniej więcej co czwarty raz. Na kuponie Lotto taki wynik jest bezużyteczny, bo skreśla się sześć różnych liczb.

Tryb bez powtórzeń zmienia też prawdopodobieństwo w trakcie losowania. Pierwsza liczba jest wybierana z 49 wartości, druga już tylko z 48, trzecia z 47. Każdy pojedynczy zestaw sześciu liczb pozostaje jednak tak samo prawdopodobny jak każdy inny, bo maleje zarówno liczba kandydatów, jak i liczba możliwych zestawów.

Pod spodem działa tasowanie Fisher-Yates, czyli algorytm opisany przez Donalda Knutha jako Algorithm P. Idzie on po liście od końca i zamienia każdy element z losowo wybranym elementem spośród tych, których jeszcze nie ruszał. Efekt jest taki, że każda z możliwych kolejności ma równe szanse. Generator nie buduje przy tym całej listy zakresu w pamięci, więc sześć liczb z zakresu 1 do miliona kosztuje go tyle samo pracy co sześć liczb z zakresu 1 do 49.

Ograniczenie trybu bez powtórzeń jest jedno: nie da się wylosować więcej liczb, niż jest wartości w zakresie. Przy siedmiu losowaniach z zakresu 1 do 5 kalkulator pokazuje komunikat, a nie wynik, bo dwie brakujące liczby musiałyby wziąć się znikąd.

Skąd bierze się losowość i czy wynik da się przewidzieć

Liczby pochodzą z funkcji crypto.getRandomValues, czyli z kryptograficznie bezpiecznego generatora wbudowanego w przeglądarkę. Nie używamy Math.random i to jest różnica techniczna, którą warto rozumieć.

Math.random to zwykły generator pseudolosowy. Ma wewnętrzny stan, z którego wylicza kolejne wartości deterministycznym wzorem. Wyniki wyglądają na losowe i przechodzą testy statystyczne, ale sama dokumentacja MDN zastrzega, że funkcja nie daje żadnych gwarancji bezpieczeństwa. Ktoś, kto obserwuje wystarczająco wiele wyników, jest w stanie w niektórych implementacjach odtworzyć stan generatora, a od tego momentu zna wszystkie następne liczby.

crypto.getRandomValues czerpie z entropii systemu operacyjnego. Specyfikacja Web Cryptography API wymaga, żeby przeglądarka użyła kryptograficznie silnego generatora zasilanego szumem sprzętowym i zdarzeniami systemu. Znajomość dowolnie długiej serii wcześniejszych wyników nie pozwala policzyć następnego. Tak działają generatory opisane w standardzie NIST SP 800-90A, na których opierają się systemowe źródła losowości.

Różnicę między jednym a drugim opisuje RFC 4086: losowość statystyczna to równomierny rozkład wyników, a nieprzewidywalność to niemożność zgadnięcia następnej wartości. Do rzutu kostką w grze planszowej wystarcza pierwsze. Do losowania nagród, kolejności i typów loteryjnych potrzebne jest drugie.

Jest jeszcze trzeci szczegół, o którym większość generatorów nie wspomina. Surowa wartość z generatora to liczba 32-bitowa, a zakres podany przez użytkownika prawie nigdy nie dzieli tej liczby bez reszty. Naiwne wzięcie reszty z dzielenia daje wtedy obciążenie modulo: pierwsze wartości zakresu wypadają odrobinę częściej niż ostatnie. Ten generator odrzuca wartości z niepełnego ostatniego bloku i losuje ponownie, więc rozkład zostaje równy co do jednej możliwości. Przy zakresie 1 do 49 poprawka zmienia wynik rzędu jednej milionowej promila, ale kosztuje jedną pętlę i zdejmuje temat z dyskusji.

Ile jest możliwych wyników losowania

Poniższa tabela pokazuje, ile różnych wyników może dać każde ustawienie i jaka jest szansa trafienia w konkretny z góry wybrany wynik. Liczby są czystą kombinatoryką, a nie statystyką z przeszłych losowań.

UstawienieLiczba możliwych wynikówSzansa na konkretny wynik
1 liczba z zakresu 1–661 na 6 (16,67%)
1 liczba z zakresu 1–49491 na 49 (2,04%)
1 liczba z zakresu 1–1001001 na 100 (1%)
5 różnych liczb z 50 (Eurojackpot)2 118 7601 na 2 118 760
6 różnych liczb z 49 (Lotto)13 983 8161 na 13 983 816
20 różnych liczb z 80 (Multi Multi)ok. 3,5 × 10¹⁸praktycznie zero
Kolejność 30 osób (30 z 30)ok. 2,7 × 10³²praktycznie zero

Wiersz Lotto tłumaczy, dlaczego generator nie poprawia szans. Wszystkie 13 983 816 zestawów jest równie prawdopodobnych, więc liczby wybrane przez narzędzie mają dokładnie taką samą szansę jak daty urodzin całej rodziny. Jedyna praktyczna przewaga losowego zestawu jest inna: rzadziej pokrywa się z zestawami skreślanymi przez tysiące innych graczy, więc ewentualną wygraną dzieli się z mniejszą liczbą osób. Szansę z ostatniej kolumny zamienisz na procenty kalkulatorem procentowym, a średnią z serii wylosowanych liczb policzysz kalkulatorem średniej ważonej.

Co dzieje się z wynikiem losowania

Wynik nie opuszcza Twojej przeglądarki. Losowanie wykonuje kod strony na Twoim urządzeniu, więc wylosowane liczby nie trafiają na serwer, do logów ani do analityki.

Historia losowań pod wynikiem żyje wyłącznie w pamięci otwartej karty. Odświeżenie strony, przejście na inny adres i zamknięcie karty kasują ją bezpowrotnie, bo nic nie jest zapisywane ani w plikach cookie, ani w pamięci lokalnej przeglądarki. Przycisk „Wyczyść" usuwa ją od razu.

Przycisk kopiowania linku z danymi przekazuje ustawienia losowania, czyli zakres, liczbę losowań, tryb powtórzeń i sortowanie. Nie przekazuje wylosowanych liczb i nie może tego robić: wynik odtwarzalny z adresu przestałby być losowy. Osoba, która otworzy taki link, dostanie ten sam formularz i własne, nowe losowanie.

Najczęstsze pytania

Jak wylosować liczbę od 1 do 100?
Wpisz 1 w polu „od", 100 w polu „do", zostaw liczbę losowań równą 1 i kliknij przycisk losowania. Każda ze stu wartości ma wtedy takie samo prawdopodobieństwo, czyli 1 procent. Jeśli potrzebujesz kilku liczb naraz, zwiększ liczbę losowań, a gdy żadna nie może się powtórzyć, zaznacz dodatkowo pole bez powtórzeń.
Czy generator liczb losowych jest naprawdę losowy?
Wynik jest nieprzewidywalny, bo pochodzi z funkcji crypto.getRandomValues, którą przeglądarka zasila entropią systemu operacyjnego. To generator kryptograficzny, więc znajomość wcześniejszych wyników nie pozwala policzyć następnego. Zwykłe Math.random takiej gwarancji nie daje: jego stan wewnętrzny da się w części przeglądarek odtworzyć z kilku obserwacji, a wtedy kolejne liczby przestają być tajemnicą.
Jak wylosować liczby bez powtórzeń?
Zaznacz pole „bez powtórzeń" i ustaw liczbę losowań mniejszą lub równą liczbie wartości w zakresie. Narzędzie tasuje wtedy zakres metodą Fisher-Yates i zdejmuje z góry tyle liczb, ile zamówiłeś, więc żadna nie wypadnie dwa razy. Przy próbie wylosowania siedmiu liczb z zakresu 1 do 5 kalkulator pokaże komunikat zamiast wyniku.
Czy mogę użyć tego generatora do losowania nagród w konkursie?
Tak i po to powstała historia losowań widoczna pod wynikiem. Ustaw zakres od 1 do liczby zgłoszeń, wybierz tryb bez powtórzeń, wylosuj tylu zwycięzców, ilu przewiduje regulamin, i skopiuj wynik jednym kliknięciem do protokołu. Historia pokazuje wcześniejsze losowania z tej samej sesji, więc widać, czy ktoś losował kilka razy do skutku.
Czy jakieś liczby wypadają w Lotto częściej?
Nie, każda z 49 liczb ma w pojedynczym losowaniu takie samo prawdopodobieństwo. Statystyki najczęstszych liczb opisują przeszłość, a nie przyszłe losowanie, bo kule nie mają pamięci. Zestawy typu 1, 2, 3, 4, 5, 6 są dokładnie tak samo prawdopodobne jak dowolne inne sześć liczb. Wybór wpływa tylko na to, z iloma osobami ewentualnie podzielisz wygraną.
Czym ten generator różni się od losowarki w wynikach Google?
Widget Google zwraca jedną liczbę z zakresu i na tym kończy. To narzędzie losuje do stu liczb za jednym razem, pilnuje braku powtórzeń, sortuje wynik, ma gotowe ustawienia Lotto i Multi Multi, pamięta poprzednie losowania z sesji oraz kopiuje wynik jednym kliknięciem. Podaje też wprost, z jakiego źródła losowości korzysta.

Źródła

  1. MDN Web Docs: Crypto.getRandomValues() · dokumentacja funkcji, z której narzędzie bierze losowość, wraz z zastrzeżeniem o entropii
  2. MDN Web Docs: Math.random() · jawne ostrzeżenie, że Math.random nie daje gwarancji bezpieczeństwa kryptograficznego
  3. W3C: Web Cryptography API (Recommendation) · specyfikacja getRandomValues i wymóg używania kryptograficznie silnego generatora
  4. NIST SP 800-90A Rev. 1: Recommendation for Random Number Generation Using Deterministic Random Bit Generators · standard generatorów, na których opierają się systemowe źródła losowości
  5. RFC 4086: Randomness Requirements for Security · różnica między losowością statystyczną a nieprzewidywalnością
  6. D. E. Knuth, The Art of Computer Programming, t. 2: Seminumerical Algorithms, Algorithm P · tasowanie Fisher-Yates jako metoda losowania bez powtórzeń

Powiązane kalkulatory

Ile to procent, o ile procent więcej lub mniej. · Matematyka
Średnia ważona ocen i wyników z wagami. · Matematyka
Najmniejsza wspólna wielokrotność i największy wspólny dzielnik. · Matematyka
Delta, miejsca zerowe i wierzchołek paraboli. · Matematyka
Zamiana liczb rzymskich na arabskie i odwrotnie. · Matematyka

Ostatnia aktualizacja: 1 września 2026