यह टूल क्या करता है
पूर्णांक यूनिफॉर्म रैंडम नंबर जनरेटर आपकी तय की गई रेंज में से समान रूप से (uniformly) यादृच्छिक पूर्ण संख्याओं की एक सूची तैयार करता है। यहाँ रेंज दोनों सिरों सहित (inclusive) मानी जाती है। "यूनिफॉर्म" का मतलब है कि निचली और ऊपरी सीमा के बीच का हर पूर्णांक आने की संभावना बराबर होती है। आप तय करते हैं कि कितनी संख्याएँ बनानी हैं और क्या एक ही मान एक से ज़्यादा बार आ सकता है। यह लॉटरी के नंबर चुनने, पासे या खेल के रोल निकालने, किसी डेटासेट से पंक्तियों का सैंपल लेने, IDs असाइन करने, A/B टेस्टिंग में बकेट बाँटने और कक्षा में सांख्यिकी (statistics) समझाने जैसे कामों में बहुत उपयोगी है।
इसे कैसे इस्तेमाल करें
"Range from" में निचली सीमा और "to" में ऊपरी सीमा डालें (1 से 100000 तक का कोई भी पूर्णांक)। "Count / Quantity" में बताएँ कि आपको कितनी संख्याएँ चाहिए (1 से 100 तक)। दोहराव (repeats) की अनुमति देने के लिए "Allow" चुनें — यह बदलाव के साथ सैंपलिंग (with replacement) होती है, या सभी अलग-अलग मानों के लिए "Do not allow" चुनें — यह बिना बदलाव की सैंपलिंग (without replacement) होती है। अगर आप गलती से सीमाएँ उलटे क्रम में डाल देते हैं, तो टूल खुद-ब-खुद उन्हें आपस में बदल देता है।
सूत्र को समझें
रेंज [lo, hi] में कुल \(N = \text{hi} - \text{lo} + 1\) अलग-अलग पूर्णांक होते हैं। एक बार में निकाला गया मान होता है $$r = \text{lo} + \left\lfloor U \times N \right\rfloor,$$ जहाँ \(U\) एक यूनिफॉर्म यादृच्छिक वास्तविक संख्या है जो \([0, 1)\) में आती है। \(U\) को \(N\) से गुणा करके floor लगाने पर 0 से \(N-1\) तक का एक पूर्णांक मिलता है, जिसे फिर \(\text{lo}\) जोड़कर ऊपर खिसका दिया जाता है। इससे यह पक्का होता है कि हर संभावित मान की प्रायिकता ठीक \(1/N\) रहे। जब डुप्लिकेट की अनुमति होती है, तो टूल हर माँगी गई संख्या के लिए यह प्रक्रिया स्वतंत्र रूप से दोहराता है। बिना डुप्लिकेट वाले मोड में, यह तब तक मान निकालता रहता है और पहले से चुने जा चुके मानों को छोड़ता रहता है जब तक माँगी गई संख्या के बराबर अलग-अलग (unique) मान इकट्ठे न हो जाएँ — इसलिए count का \(N\) से बड़ा होना संभव नहीं।
हल किया हुआ उदाहरण
रेंज 1 से 6, count 5, डुप्लिकेट की अनुमति: हर बार निकाला गया मान $$r = 1 + \left\lfloor U \times 6 \right\rfloor$$ होता है, यानी ठीक छह भुजाओं वाले पासे की तरह। एक संभावित नतीजा हो सकता है — 4, 1, 6, 4, 2 (यहाँ 4 दोहराया गया है, जो मान्य है)। अगर डुप्लिकेट की अनुमति न हो, तो आपको पाँच अलग-अलग मान मिलेंगे, जैसे 3, 5, 1, 6, 2। 1 से 6 की रेंज में 7 अलग-अलग मान माँगना असंभव है, क्योंकि वहाँ कुल छह ही पूर्णांक मौजूद हैं।
अक्सर पूछे जाने वाले सवाल
हर बार अलग नतीजे क्यों मिलते हैं? यह जनरेटर non-deterministic है; हर बार चलाने पर नए सिरे से यादृच्छिक मान निकलते हैं, इसलिए नतीजा बदलना इसकी सहज प्रकृति है।
क्या सबसे छोटा और सबसे बड़ा मान बराबर हो सकते हैं? हाँ। अगर दोनों बराबर हों तो \(N = 1\) होगा और एकमात्र संभावित मान वही संख्या होगी।
अगर मैं मौजूद संख्याओं से ज़्यादा अलग-अलग मान माँग लूँ तो क्या होगा? "Do not allow" मोड में टूल एक त्रुटि (error) दिखाता है, क्योंकि अनुरोध पूरा करने के लिए पर्याप्त अलग-अलग पूर्णांक उपलब्ध नहीं होते।