बिना दोहराव के यादृच्छिक संख्या

समस्या का निरूपण

आइए मान लें कि हमें दिए गए मानों की श्रेणी में दोहराव के बिना पूर्णांक यादृच्छिक संख्याओं का एक सेट बनाने की आवश्यकता है। चलते-फिरते उदाहरण:

  • उत्पादों या उपयोगकर्ताओं के लिए अद्वितीय यादृच्छिक कोड उत्पन्न करना
  • लोगों को कार्य सौंपना (प्रत्येक सूची से बेतरतीब ढंग से)
  • खोज क्वेरी में शब्दों का क्रमपरिवर्तन (नमस्ते एसईओ-श्निकम)
  • लोट्टो आदि खेलना

विधि 1. सरल

आरंभ करने के लिए, आइए एक सरल विकल्प पर विचार करें: हमें 10 से 1 तक 10 पूर्णांकों का एक यादृच्छिक सेट प्राप्त करने की आवश्यकता है। एक्सेल में निर्मित फ़ंक्शन का उपयोग करना मामले के बीच (बीच में बढ़त) विशिष्टता की गारंटी नहीं है। यदि आप इसे एक शीट सेल में दर्ज करते हैं और इसे 10 सेल में कॉपी करते हैं, तो दोहराव आसानी से हो सकता है:

बिना दोहराव के यादृच्छिक संख्या

इसलिए, हम दूसरे रास्ते पर जाएंगे।

एक्सेल के सभी संस्करणों में एक कार्य होता है दर्जा (रंग), रैंकिंग के लिए अभिप्रेत है या, दूसरे शब्दों में, किसी सेट में किसी संख्या की शीर्ष स्थिति का निर्धारण करना। सूची में सबसे बड़ी संख्या में रैंक = 1 है, शीर्ष में दूसरे स्थान पर रैंक = 2 ​​है, और इसी तरह।

आइए सेल A2 . में फ़ंक्शन दर्ज करें SLCHIS (रैंड) तर्कों के बिना और 10 कोशिकाओं के नीचे सूत्र की प्रतिलिपि बनाएँ। यह फ़ंक्शन हमें 10 से 0 तक 1 यादृच्छिक भिन्नात्मक संख्याओं का एक सेट उत्पन्न करेगा:

बिना दोहराव के यादृच्छिक संख्या

अगले कॉलम में हम फंक्शन का परिचय देते हैं दर्जाप्रत्येक प्राप्त यादृच्छिक संख्या के लिए रैंकिंग में स्थिति निर्धारित करने के लिए:

बिना दोहराव के यादृच्छिक संख्या

हम कॉलम बी में प्राप्त करते हैं जो हम चाहते थे - 1 से 10 तक गैर-दोहराए जाने वाले यादृच्छिक पूर्णांक की कोई भी वांछित संख्या।

विशुद्ध रूप से सैद्धांतिक रूप से, ऐसी स्थिति उत्पन्न हो सकती है जब SLCHIS हमें कॉलम ए में दो समान यादृच्छिक संख्याएं देगा, उनकी रैंक मेल खाएगी और हमें कॉलम बी में दोहराव मिलेगा। हालांकि, इस तरह के परिदृश्य की संभावना बेहद कम है, इस तथ्य को देखते हुए कि सटीकता 15 दशमलव स्थान है।

विधि 2. जटिल

यह विधि थोड़ी अधिक जटिल है, लेकिन केवल एक सरणी सूत्र का उपयोग करती है। मान लीजिए कि हमें एक शीट पर 9 से 1 की सीमा में 50 गैर-दोहराए जाने वाले यादृच्छिक पूर्णांकों की एक सूची बनाने की आवश्यकता है।

सेल A2 में निम्न सूत्र दर्ज करें, अंत में क्लिक करें Ctrl + Shift + Enter (इसे एक सरणी सूत्र के रूप में दर्ज करने के लिए!) और सूत्र को वांछित संख्या में कक्षों में कॉपी करें:

बिना दोहराव के यादृच्छिक संख्या

विधि 3. मैक्रो

और, ज़ाहिर है, आप Visual Basic में प्रोग्रामिंग का उपयोग करके समस्या का समाधान कर सकते हैं। यादृच्छिक नमूने के बारे में पुराने लेखों में से एक में, मैंने पहले से ही लोट्टो सरणी मैक्रो फ़ंक्शन का हवाला दिया है, जो किसी दिए गए अंतराल से आवश्यक संख्या में यादृच्छिक गैर-दोहराव संख्याओं का उत्पादन करता है।

  • किसी श्रेणी में अद्वितीय मानों की संख्या की गणना कैसे करें
  • सूची से तत्वों का यादृच्छिक चयन

एक जवाब लिखें