İstediğiniz aralıkta, tekrarlı ya da tekrarsız rastgele sayılar çekin — doğrudan tarayıcınızda.
Bir rastgele sayı üreticisi, var olan en basit adil soruyu yanıtlar: bu aralıktan, kayırmadan bir sayı seç. Bu araç yazdığınız herhangi bir alt ve üst sınır arasında tam sayılar çeker; teker teker ya da bir seferde bine kadar. Aynı sayının iki kez çıkıp çıkamayacağına da siz karar verirsiniz. Tekrarı kapatın, bir çekiliş makinesine dönüşsün: 2.000 bilet arasından 5 kazanan numara ya da 75 arasından 15 tombala sayısı çekin; hiçbir sayı iki kez çıkamaz.
Rastgelelik Math.random'dan değil, tarayıcının kriptografik üreticisi olan crypto.getRandomValues'tan gelir. Ayrıca, kulağa geldiğinden daha önemli olan reddetme örneklemesi kullanılır. Rastgele bir 32 bitlik değeri bir aralığa sıkıştırmanın naif yolu, aralık boyutuna bölümünden kalanı almaktır; ama bu sessizce ilk sayıları kayırır: 2^32 çoğu aralığın katı değildir, dolayısıyla artan değerler en düşük sonuçlarda birikir. Araç bunun yerine bu düzensiz kuyruğa düşen her değeri atar ve yeniden çeker; böylece aralıktaki her sayının olasılığı tam olarak aynı olur. Tekrar kapalıyken aralık üzerinde kısmi bir Fisher-Yates karıştırması uygulanır; bu da aynı sayıyı iki kez çekmeden farklı sonuçlar garantiler.
Tipik kullanımlar çekilişlerin çok ötesine geçer: hangi takımın önce sunum yapacağını seçmek, bir tablodan denetim için rastgele bir satır seçmek, bilinen bir aralıkta test verisi üretmek, sınıf içi bir etkinlik yürütmek, kimsenin itiraz edemeyeceği bir beraberlik bozma kararı vermek ya da istediğiniz sayıda yüzü olan zar ve paraları benzetmek. Yazdığınız hiçbir şey hiçbir yere gönderilmez — çekilişin tamamı cihazınızda JavaScript ile olur, ki bu da sayfa yüklendikten sonra aracın çevrimdışı çalıştığı anlamına gelir.
[min, max] aralığında düzgün dağılımlı tam sayı: crypto.getRandomValues'tan 32 bitlik bir değer çekin, 2^32'ye sığan aralık boyutunun en büyük katının üstüne düşerse atın (modulo yanlılığını ortadan kaldıran reddetme örneklemesi), sonra aralık boyutuna bölümünden kalanı alıp en küçük değeri ekleyin. Tekrarsız çekilişler için aralık üzerinde kısmi bir Fisher-Yates karıştırması uygulayın ve ilk N konumu alın.
Evet, bir tarayıcının üretebileceği kadar rastgele. Araç, aralıktaki hiçbir sayının kayırılmaması için kriptografik üretici crypto.getRandomValues'ı reddetme örneklemesiyle birlikte kullanır.
Çünkü çekilişi yanlı hâle getirir. Aralık, üreticinin çıktısını tam bölmüyorsa en düşük sayıların şansı biraz daha yüksek olur. Reddetme örneklemesi düzensiz kuyruğu atıp yeniden çeker ve yanlılığı tamamen ortadan kaldırır.
Yalnızca "Tekrar eden sayı olmasın" seçeneğini işaretlemezseniz. Seçenek açıkken çekilen her sayı farklı olur; çekilişler, tombala ve kazanan belirlemek için istediğiniz de budur.
Çekiliş başına 1.000'e kadar; aralık ise tarayıcınızın işleyebildiği tam sayılar kadar geniş olabilir. Tekrarsız modda doğal olarak aralığın içerdiğinden fazla sayı çekemezsiniz.
Hayır. Çekiliş %100 cihazınızda JavaScript ile çalışır. Hiçbir aralık, hiçbir sonuç ve hiçbir çekiliş hiçbir yere iletilmez, kaydedilmez veya saklanmaz.
Vai.la, herhangi bir URL'yi tıklama istatistikleri, QR Code ve kendi biolink'inizle birlikte kısa bir bağlantıya dönüştürür.
Vai.la, araçların nasıl kullanıldığından veya sonuçlarına dayanarak alınan kararlardan sorumlu değildir.