Generator losowych liczb całkowitych
Generuj jedną lub wiele losowych liczb całkowitych w dowolnym zakresie. Bez powtórzeń lub z powtórzeniami. Do losowań, gier i testów. Bezpłatnie.
-
1Wprowadź dane
Wpisz treść, wklej tekst lub załaduj plik z dysku. -
2Kliknij przycisk
Narzędzie natychmiast przetworzy Twoje dane w przeglądarce. -
3Pobierz wynik
Skopiuj gotowy tekst lub zapisz plik na urządzeniu.
return "Wynik gotowy w 0.1s";
}
Liczba wylosowanych
Liczby w wyniku — kafelki aktualizują się na żywo
Zakres
Minimum i maksimum z formularza
Najmniejsza
Najniższa wartość w tym losowaniu
Największa
Najwyższa wartość w tym losowaniu
Średnia
Suma liczb podzielona przez ich liczbę
Tryb losowania
random_int — kryptograficzny generator losowy
W trybie „Bezpieczny (zalecany)” silnik losuje funkcją random_int(min, max) — kryptograficznym generatorem
losowym PHP, w którym każda liczba z zakresu ma identyczne prawdopodobieństwo. Funkcja mt_rand używana jest
wyłącznie w trybie deterministycznym (do powtarzalnych sekwencji z ziarnem). Liczba możliwych wyników to zawsze
(maks − min) + 1 — dokładnie tak liczy ją silnik.
| Zakres | Możliwych wyników | Typowe zastosowanie |
|---|---|---|
| 1 – 6 | 6 | Rzut kostką (1 wynik) |
| 1 – 49 | 49 | Losowanie 6 unikalnych liczb bez powtórzeń |
| 0 – 1 | 2 | Orzeł i reszka (0/1) |
| 1 – 100 | 100 | Klasyczne losowanie „od 1 do 100” |
| -30 – 30 | 61 | Zakres z liczbami ujemnymi (np. temperatura) |
Pułapka „ważenia kostką”: liczby nie są ważone — generator nie faworyzuje środkowych wartości ani nie „wyrównuje” częstotliwości między kolejnymi losowaniami. Na 100 rzutów kostką wynik 6 może paść 25 razy, a wynik 1 tylko 9 razy i to wciąż jest uczciwy generator; wyrównanie pojawia się dopiero na bardzo długim dystansie.
Skąd bierze się losowość i jak jej nie zepsuć
Uczciwość: random_int z kodu silnika
W trybie „Bezpieczny” każda liczba powstaje z random_int() — generatora kryptograficznego (CSPRNG), którego nie da się przewidzieć na podstawie poprzednich wyników. To ta sama klasa losowości, której używa się do tokenów i haseł, więc do losowań, nagród i testów A/B nadaje się w pełni. Tryb deterministyczny celowo używa zwykłego mt_rand z ziarnem — w zamian za słabszą losowość daje identyczne sekwencje przy tym samym ziarnie.
Liczby nie są ważone
Generator nie „rozpycha” wyników po zakresie: w krótkiej serii braki i skupiska są normalne, a średnia z 10 rzutów potrafi mocno odbiegać od teoretycznej. Jeśli zależy Ci na równych częstościach, zwiększ liczbę losowań albo losuj bez duplikatów — wtedy każda wartość z zakresu pojawi się co najwyżej raz.
Unikalność i wykluczenia
Opcja „Zezwól na duplikaty” wyłączona wymusza unikalne wyniki — przy gęstym zakresie silnik tasuje wszystkie liczby zakresu algorytmem Fishera–Yatesa i bierze pierwsze N. Lista „Wyklucz” usuwa wartości przed losowaniem (np. pechowe 13); jeśli wykluczenia pochłoną cały zakres albo poprosisz o więcej unikalnych liczb, niż zostało, narzędzie zwraca komunikat zamiast wymuszać wynik.
Ujemne zakresy i granice
Minimum może być większe od zera albo ujemne (np. −30 do 30), ale minimum musi być ≤ maksimum — inaczej losowanie nie ma sensu i pojawia się komunikat. Pola przyjmują liczby całkowite z zakresu ±1 000 000 000, a jednorazowo wygenerujesz do 1 000 liczb.
Wskazówka: całą listę skopiujesz jednym kliknięciem albo pobierzesz jako plik .txt — wygodne przy wrzucaniu liczb do arkusza, losowania na żywo czy generowania danych testowych.
Oceń to narzędzie:
Powiązane narzędzia
Inne narzędzia, które mogą Ci się przydaćGenerator losowych liczb całkowitych – losuj liczby w zakresie
Losowe liczby całkowite są potrzebne w wielu kontekstach: losowanie zwycięzcy konkursu, rzut kostką, generowanie danych testowych, gry karciane, algorytmy. Generator tworzy losowe liczby w wybranym zakresie (min-max), opcjonalnie bez powtórzeń, z możliwością wygenerowania wielu naraz.
Parametry generatora
Zakres: min i max (włącznie). Ilość: 1-1000 liczb naraz. Bez powtórzeń: każda liczba pojawia się max raz (wymaga max-min+1 >= ilość). Z powtórzeniami: niezależne losowania. Sortowanie: wynik posortowany rosnąco lub losowa kolejność. Format: jedna per linia, przecinkami, CSV.
Algorytm losowania
Math.random(): pseudo-losowy (PRNG), deterministyczny z seed. Zakres: Math.floor(Math.random() * (max - min + 1)) + min. Bez powtórzeń: Fisher-Yates shuffle na pełnym zakresie → pierwsze N. Alternatywnie: Set + losowanie aż zbierze N unikalnych. Kryptograficznie bezpieczny: crypto.getRandomValues() (dla ważnych losowań).
Zastosowania losowych liczb
Konkurs/losowanie: wybierz zwycięzcę z listy numerowanej. Kostka: zakres 1-6. Karta z talii: 1-52. Karta z grupy 4 kolory: 1-13 × 4. Lottery Polska: 1-49 (6 unikalnych). Eurojackpot: 1-50 (5) + 1-12 (2). LOTO: 6 z 49. PIN testowy: 4 cyfry (1000-9999). PESEL fragment: losowe cyfry.
Prawdziwa losowość vs pseudo-losowość
PRNG (Pseudo-Random Number Generator): Math.random(), deterministyczny, szybki. Wystarczający dla: gier, testów, statystyk. Kryptograficznie bezpieczny (CSPRNG): crypto.getRandomValues(), unpredictable. Wymagany dla: klucze kryptograficzne, tokeny bezpieczeństwa, losowania o konsekwencjach finansowych. Random.org: true random z szumu atmosferycznego.
Jak powstaje liczba całkowita w zadanym zakresie
Zakres definiujesz dwiema liczbami: min i max, przy czym oba końce należą do zakresu. Szerokość zakresu to max − min + 1, a nie max − min — dla przedziału 1–6 daje to 6 możliwych wyników, a nie 5. Każda wartość z tego zbioru ma takie samo prawdopodobieństwo 1/(max − min + 1), o ile losowanie jest równoważne i nie stosuje się żadnych filtrów. To założenie nazywa się rozkładem jednostajnym i jest podstawą wiarygodności wyniku.
Losowanie z powtórzeniami to pojedyncze, niezależne zdarzenie powtórzone N razy: wynik poprzedniego losowania nie wpływa na następne. Losowanie bez powtórzeń działa inaczej — z zakresu tworzona jest tablica wszystkich wartości (49 pozycji dla 1–49), a następnie mieszana algorytmem Fishera-Yatesa: przechodzimy od końca tablicy i zamieniamy bieżący element z losowo wybranym elementem z części jeszcze nieprzetworzonej. Pierwsze N pozycji po przemieszaniu to wynik. Mieszanie jest konieczne, bo pobranie pierwszych N elementów z nieprzemieszczonej tablicy zwróciłoby po prostu 1, 2, 3…
Warunkiem trybu bez powtórzeń jest max − min + 1 ≥ ilość. Dla 6 liczb z zakresu 1–49 warunek jest spełniony z zapasem (49 ≥ 6), ale przy 10 liczbach z zakresu 1–8 narzędzie nie ma z czego losować i musi zgłosić błąd. Warto wiedzieć, że naiwne wyliczanie indeksu przez resztę z dzielenia (losowa wartość modulo szerokość zakresu) daje lekko nierównomierny rozkład, gdy liczba możliwych wartości generatora nie dzieli się przez szerokość zakresu — poprawne implementacje odrzucają część wylosowanych wartości i losują ponownie.
Przykład krok po kroku: 6 unikalnych liczb z zakresu 1–49
Cel: wylosować 6 unikalnych liczb z zakresu 1–49, wynik posortowany rosnąco, jedna liczba na linię.
- Ustaw parametry: min = 1, max = 49, ilość = 6, tryb bez powtórzeń, sortowanie rosnąco, format jedna per linia.
- Sprawdź warunek wykonalności: 49 − 1 + 1 = 49 dostępnych wartości, potrzebujesz 6, więc 49 ≥ 6 — losowanie jest możliwe.
- Zbuduj tablicę roboczą o 49 pozycjach i wypełnij ją kolejnymi wartościami od 1 do 49.
- Przemieszaj tablicę algorytmem Fishera-Yatesa: 48 zamian, każda z losowym indeksem z nieprzetworzonej części tablicy.
- Pobierz 6 pierwszych elementów przemieszanej tablicy i posortuj je rosnąco — to gotowy wynik.
- Sprawdź sens statystyczny: pojedyncza liczba trafia do wyniku z szansą 6/49 ≈ 12,24%, a w jednym losowaniu 1/49 ≈ 2,04%. Liczba możliwych zestawów sześcioliczbowych z 49 to 13 983 816.
Typowe zakresy i liczba dostępnych wartości
| Zastosowanie | Zakres min–max | Liczba możliwych wartości |
|---|---|---|
| Rzut kostką | 1–6 | 6, z powtórzeniami |
| Karta z talii | 1–52 | 52 |
| Karta w jednym kolorze | 1–13 | 13 |
| Lottery / LOTO | 1–49 | 49, losuje się 6 unikalnych |
| Eurojackpot – liczby główne | 1–50 | 50, losuje się 5 unikalnych |
| Eurojackpot – liczby Euro | 1–12 | 12, losuje się 2 unikalne |
| PIN testowy (4 cyfry) | 1000–9999 | 9000 |
| Indeks rekordu w danych testowych | 1–1000 | 1000, górna granica ilości naraz |
Praktyczne wskazówki użycia
- Sprawdź pojemność zakresu przed losowaniem bez powtórzeń — narzędzie przyjmuje od 1 do 1000 liczb naraz, ale w trybie unikalnym zakres musi mieć co najmniej tyle wartości, ile chcesz wylosować.
- Sortuj tylko wtedy, gdy kolejność nie ma znaczenia — przy losowaniu zwycięzcy posortowana lista sugeruje ranking, którego losowanie wcale nie tworzy.
- Dobierz format pod miejsce docelowe — jedna per linia wkleja się kolumnowo do kodu i arkusza, przecinki oraz CSV sprawdzają się przy imporcie i dalszym przetwarzaniu.
- Dla losowań o skutkach finansowych użyj źródła kryptograficznego — Math.random() jest deterministyczny i przewidywalny dla kogoś, kto zna stan generatora, a crypto.getRandomValues() tego nie ujawnia.
- Nie losuj ponownie, aż wynik będzie „ładny” — odrzucanie rezultatów, które wyglądają mało losowo (np. liczby sąsiadujące), psuje rozkład jednostajny i faworyzuje pozostałe kombinacje.
Czego narzędzie nie uwzględnia
- Brak ustawiania ziarna losowania — nie odtworzysz identycznego wyniku dwa razy, co bywa potrzebne w testach jednostkowych i przy debugowaniu.
- Jakość źródła losowości — Math.random() to PRNG deterministyczny; dla kluczy, tokenów i losowań z konsekwencjami finansowymi nie daje gwarancji nieprzewidywalności.
- Unikalność dotyczy tylko jednej serii — narzędzie nie pamięta poprzednich losowań, więc ta sama liczba może wypaść w dwóch seriach pod rząd, co jest zgodne z prawdopodobieństwem, ale bywa odbierane jako błąd.
- Brak weryfikacji statystycznej wyniku — narzędzie nie liczy entropii ani nie wykonuje testów losowości; jednostajność wynika z algorytmu, a nie z kontroli po fakcie.
Najczęstsze pytania
Jak losowo wybrać zwycięzcę konkursu?
Ponumeruj uczestników 1-N. Generator: zakres 1-N, 1 liczba. Numer = zwycięzca. Transparentność: nagraj ekran podczas losowania. Lub: Random.org (certyfikowane losowania). Do konkursów z nagrodami: warto użyć CSPRNG lub zewnętrznego serwisu. Dokumentuj: screenshot wylosowanego numeru + timestamp.
Jak działają loterie (LOTO 6/49)?
Kula fizyczna: N kul w bębnie, losowane bez powtórzeń. LOTO Polska: 6 z 49 = 13 983 816 kombinacji. Szansa: 1 w ~14 mln. Algorytm online: Fisher-Yates na tablicy [1..49], pierwsze 6 wyników. Ważne: każda kombinacja ma równe prawdopodobieństwo (nie ma "gorących numerów").
Czy pewne liczby "wypadają częściej"?
Statystycznie: nie – dla poprawnego PRNG każda liczba ma równe prawdopodobieństwo. Confirmation bias: zapamiętujemy potwierdzające przypadki (17 "wypadło trzy razy!") i ignorujemy inne. Gambler's fallacy: "nie wypadała długo = zaraz wypadnie". Test statystyczny: chi-squared test na rozkładzie = Random.org przechodzi.
Jak generować losowe liczby w Excelu?
=LOSOWO() lub =RAND(): losowa liczba 0-1. Zakres: =INT(RAND()*(max-min+1)+min). Bez powtórzeń: skomplikowane (użyj RANK.EQ lub VBA). =RANDBETWEEN(1,49): prosty sposób z limitem. Uwaga: przelicza się przy każdej zmianie arkusza – skopiuj i wklej jako "Wartości" by zamrozić.
Jak testować generator losowych liczb?
Chi-squared test: sprawdź czy rozkład jest równomierny. Runs test: sprawdź czy brak wzorców. Diehard tests: zestaw testów statystycznych losowości. TestU01 (L'Ecuyer): biblioteka do testowania PRNG. W praktyce: Math.random() i crypto.getRandomValues() przechodzą standardowe testy.
Czy generator losowych liczb całkowitych jest darmowy?
Tak, narzędzie jest darmowe i nie wymaga rejestracji. Ograniczenie dotyczy tylko jednej serii — możesz wylosować od 1 do 1000 liczb naraz.
Jak wylosować liczby bez powtórzeń?
Włącz tryb bez powtórzeń i upewnij się, że zakres ma co najmniej tyle wartości, ile liczb chcesz wylosować, czyli max − min + 1 ≥ ilość. Dla 6 liczb z zakresu 1–49 warunek jest spełniony.
Czy Math.random() wystarczy do losowania zwycięzcy konkursu?
Do typowego konkursu lub gry tak, bo dla uczestnika wynik jest praktycznie nieprzewidywalny. Jeśli stawką są pieniądze lub bezpieczeństwo, użyj źródła kryptograficznego, np. crypto.getRandomValues() albo Random.org.
Dlaczego losowanie bez powtórzeń nie działa dla mojego zakresu?
Bo żądana ilość przekracza liczbę dostępnych wartości. Z zakresu 1–8 możesz wylosować najwyżej 8 unikalnych liczb, a przy 10 narzędzie nie ma z czego wybierać.
Czy posortowanie wyniku zmienia prawdopodobieństwo?
Nie. Sortowanie zmienia wyłącznie kolejność zapisu — zbiór wylosowanych liczb i jego prawdopodobieństwo pozostają takie same.
Powiązane narzedzia: losowanie z listy, generator UUID i kolo fortuny.