Rastgele Sayı Üretici
Belirlediğiniz aralıkta rastgele sayılar üretin
Rastgele Sayı Üretici Nedir?
Rastgele sayı üretici (İngilizce "random number generator", kısaca RNG), belirlediğiniz alt ve üst sınır arasında önceden tahmin edilemeyen sayılar oluşturan bir araçtır. Bu sayfadaki üretici ile tek bir sayı çekebilir, tek seferde 1000 adede kadar sayı üretebilir, sonuçları tam sayı ya da 2 veya 4 basamaklı ondalık sayı olarak alabilir ve "Tekrarsız sayılar üret" seçeneğiyle aynı sayının birden fazla çıkmasını engelleyebilirsiniz. Birden fazla sayı ürettiğinizde en küçük, en büyük, toplam ve ortalama değerler otomatik hesaplanır; son 10 üretim de geçmiş listesinde saklanır.
Öğretmenler sınıfta söz hakkı verecek öğrenciyi seçmek, sosyal medya hesapları yorum sırasına göre kazanan belirlemek, yazılımcılar test verisi oluşturmak, masa oyuncuları ise kaybolan özel zarların yerine kullanmak için bu tür araçlara başvurur.
Rastgele Sayı Nasıl Üretilir? (Adım Adım)
- Minimum Sayı alanına aralığın alt sınırını, Maksimum Sayı alanına üst sınırını yazın. Her iki sınır da sonuçlara dahildir (örneğin 1-100 aralığında 1 ve 100 de çıkabilir). Negatif sayılar da kullanılabilir.
- Kaç Adet Sayı Üretilsin? alanına 1 ile 1000 arasında bir adet girin.
- Sayı Tipi menüsünden tam sayı, 2 basamaklı ondalık veya 4 basamaklı ondalık seçeneğini belirleyin.
- Çekiliş gibi her sayının en fazla bir kez çıkması gereken durumlarda Tekrarsız sayılar üret kutusunu işaretleyin (yalnızca tam sayılarda çalışır).
- Sayı Üret butonuna basın. Sonuçları "Sayıları Kopyala" butonuyla panoya alıp Excel'e veya mesajlaşma uygulamasına yapıştırabilirsiniz.
Rastgele Sayı Formülü ve Olasılık
Araç, tam sayı üretirken tarayıcının Math.random() fonksiyonundan gelen 0 (dahil) ile 1 (hariç) arasındaki değeri aralık genişliğiyle çarpar ve aşağı yuvarlar:
Sayı = ⌊ Math.random() × (Max − Min + 1) ⌋ + MinHer tam sayının çıkma olasılığı = 1 / (Max − Min + 1)Beklenen ortalama = (Min + Max) / 2Bu yöntemde aralıktaki her tam sayıya eşit genişlikte bir pay ayrılır; dolayısıyla 1-100 aralığında her sayının çıkma olasılığı tam olarak %1'dir. Tekrarsız modda ise araç aralıktaki tüm sayıları bir havuza koyar, havuzu Fisher-Yates karıştırma algoritmasıyla karıştırır ve baştan istenen adet kadarını alır. Fisher-Yates, olası tüm sıralamaları eşit olasılıkla üreten, matematiksel olarak kanıtlanmış adil bir karıştırma yöntemidir.
Rastgele Sayı Hesaplama Örnekleri
Örnek 1 – Tek sayının çıkma olasılığı: 1-50 aralığında tek bir sayı üretildiğinde 7'nin gelme olasılığı 1/50 = %2'dir. Aralık 1-10'a daraltılırsa olasılık %10'a çıkar.
Örnek 2 – Tekrarlı üretimde çakışma: Tekrarsız seçeneği kapalıyken 1-100 arasında 10 sayı ürettiğinizde en az iki sayının aynı çıkma olasılığı 1 − (100 × 99 × … × 91) / 100¹⁰ ≈ %37,2'dir. Bu, ünlü "doğum günü problemi"nin bir benzeridir: 23 kişilik bir grupta iki kişinin aynı gün doğmuş olma olasılığı %50,7'dir. Çekilişlerde bu yüzden mutlaka tekrarsız modu kullanın.
Örnek 3 – Tekrarsız çekilişte kazanma şansı: 30 katılımcıya 1-30 arası numara verip tekrarsız 3 sayı çektiğinizde her katılımcının kazananlardan biri olma olasılığı 3/30 = %10'dur. Üç kazananın kombinasyon sayısı ise C(30, 3) = 4060'tır.
Örnek 4 – Loto tipi seçim: 1-49 arasından tekrarsız 6 sayı ürettiğinizde, sıralamanın önemsiz olduğu C(49, 6) = 13.983.816 farklı kombinasyon vardır. Belirli bir kombinasyonu tutturma olasılığı yaklaşık 14 milyonda 1'dir. Bu hesapları kombinasyon hesaplama aracıyla doğrulayabilirsiniz.
Kullanıma Göre Önerilen Ayarlar
| Amaç | Aralık | Adet | Tip / Tekrarsız |
|---|---|---|---|
| Sınıftan öğrenci seçmek (32 kişi) | 1 – 32 | 1 | Tam sayı |
| Sosyal medya çekilişi (3 kazanan) | 1 – yorum sayısı | 3 | Tam sayı, tekrarsız |
| d20 zarı (rol yapma oyunu) | 1 – 20 | 1 | Tam sayı |
| Loto kuponu denemesi | 1 – 49 | 6 | Tam sayı, tekrarsız |
| Sırala / karıştır (10 kişi) | 1 – 10 | 10 | Tam sayı, tekrarsız |
| Olasılık simülasyonu | 0 – 1 | 1000 | Ondalık (4 basamak) |
| Test verisi (fiyat) | 10 – 500 | 100 | Ondalık (2 basamak) |
Üretilen Sayılar Gerçekten Rastgele mi?
Bilgisayarlar deterministik makinelerdir; bu nedenle tarayıcıların Math.random() fonksiyonu "sahte rastgele" (pseudo-random) sayılar üretir. Modern tarayıcılarda kullanılan xorshift türü algoritmalar istatistiksel testlerden başarıyla geçer, çok uzun bir periyoda sahiptir ve sonuçlar pratikte tahmin edilemez. Çekiliş, oyun, eğitim ve simülasyon için bu düzey fazlasıyla yeterlidir.
Ancak şifre, kriptografik anahtar veya güvenlik belirteci üretmek gibi işlerde Math.random() kullanılmamalıdır; bu amaçlar için kriptografik olarak güvenli üreteçler (tarayıcıdaki crypto.getRandomValues() gibi) gerekir. Güçlü bir parola için sitemizdeki şifre üretici aracını kullanabilirsiniz. Para veya değerli ödül içeren resmi çekilişler de ilgili mevzuata göre yetkili kurum veya noter gözetiminde yapılmalıdır.
Ürettiğiniz Sayıları Analiz Etmek
Çok sayıda üretim yaptığınızda sonuçların aralığa düzgün yayıldığını görürsünüz. Örneğin 0-1 aralığında 1000 ondalık sayı üretirseniz ortalamanın 0,5'e çok yakın çıkması beklenir. Daha ayrıntılı analiz için sonuçları kopyalayıp ortalama hesaplama veya standart sapma hesaplama araçlarına yapıştırabilirsiniz. 0-1 aralığındaki düzgün dağılımın kuramsal standart sapması yaklaşık 0,289'dur.
Dikkat Edilmesi Gerekenler
- Minimum, maksimumdan küçük olmalıdır. Aynı değeri girerseniz araç uyarı verir.
- Tekrarsız modda adet sınırı vardır: 1-10 aralığından en fazla 10 tekrarsız sayı üretilebilir. Fazlasını isterseniz "aralık yetersiz" uyarısı alırsınız.
- Ondalık sınırlar: Tam sayı modunda 1,5 gibi ondalık sınırlar en yakın içerideki tam sayıya (2) yuvarlanır.
- Ondalık yuvarlama: Ondalık modda sonuçlar seçilen basamağa yuvarlandığından, aralığın tam uç değerleri iç değerlere göre çok az daha seyrek görülür. Günlük kullanımda bu fark ihmal edilebilir.
- İsim listesiyle çekiliş: Katılımcılarınız isim olarak elinizdeyse numara vermek yerine doğrudan çekiliş yapıcı aracını kullanmak daha pratiktir. İki seçenek için yazı tura, altı yüzlü zar için zar atma aracını deneyin.
Sıkça Sorulan Sorular
Bu araç JavaScript'in Math.random() fonksiyonunu kullanır ve sahte rastgele (pseudo-random) sayılar üretir. Sonuçlar istatistiksel olarak düzgün dağılır ve pratikte tahmin edilemez; günlük kullanım, çekilişler ve oyunlar için yeterlidir. Ancak kriptografi gibi yüksek güvenlik gerektiren uygulamalar için tasarlanmamıştır.
Tekrarsız seçeneği aktifken aynı sayı birden fazla kez üretilmez. Örneğin 1-10 arasında 5 tekrarsız sayı istediğinizde her sayı en fazla bir kez çıkar. Bu özellik yalnızca tam sayılarda çalışır ve üretilecek adet aralıktaki toplam sayıdan fazla olamaz.
Tek seferde en fazla 1000 adet sayı üretebilirsiniz. Tekrarsız tam sayılarda ise üretilebilecek en yüksek adet, belirlediğiniz aralıktaki toplam tam sayı kadardır.
Evet. Tam sayı modunda hem minimum hem maksimum değer çıkabilir. Örneğin 1-100 aralığında her sayının, 1 ve 100 dahil, çıkma olasılığı tam olarak %1'dir.
Evet. Minimum ve maksimum alanlarına -50 ile 50 gibi negatif değerler girebilirsiniz. Ondalıklı sonuç için Sayı Tipi menüsünden 2 veya 4 basamaklı ondalık seçeneğini seçin.
Katılımcılara sırayla numara verin, minimum 1 ve maksimum değer olarak katılımcı sayısını girin, kazanan adedini yazın ve Tekrarsız sayılar üret kutusunu işaretleyin. Böylece aynı kişi iki kez kazanamaz ve her katılımcının şansı eşit olur.
Evet. Tekrarsız seçeneği kapalıyken her sayı bağımsız üretilir. 1-100 arasında 10 sayı üretildiğinde en az bir tekrar görme olasılığı yaklaşık %37'dir. Tekrar istemiyorsanız tekrarsız modu açın.
Önerilmez. Math.random() kriptografik olarak güvenli değildir. Parola veya güvenlik anahtarı için crypto.getRandomValues() tabanlı bir araç, örneğin sitemizdeki şifre üretici kullanılmalıdır.