जावास्क्रिप्ट में अभाज्य संख्याओं को कुशलतापूर्वक सत्यापित करना
कंप्यूटर प्रोग्रामिंग में, यह निर्धारित करना कि कोई दी गई संख्या अभाज्य है, एक मौलिक कार्य है। अभाज्य संख्या 1 से बड़ा एक धनात्मक पूर्णांक है जिसमें 1 और स्वयं के अलावा कोई धनात्मक भाजक नहीं होता है।
प्रारंभिकता की जाँच करने के लिए एक लोकप्रिय दृष्टिकोण में एराटोस्थनीज की छलनी शामिल है। हालाँकि, प्रदर्शन संबंधी विचारों के लिए, एक अधिक कुशल विधि को नियोजित किया जा सकता है, जैसा कि निम्नलिखित जावास्क्रिप्ट कार्यान्वयन में दिखाया गया है:
let inputValue = 7; let isPrime = inputValue == 1 ? false : true; // Because 1 is not prime for (let i = 2; iसमय और स्थान जटिलता विश्लेषण
समय उपरोक्त एल्गोरिदम की जटिलता O(sqrt(n)) है, जहां n इनपुट मान का प्रतिनिधित्व करता है। ऐसा इसलिए है क्योंकि लूप इनपुट संख्या के वर्गमूल तक सभी पूर्णांकों के माध्यम से पुनरावृत्त होता है, जो n तक के सभी पूर्णांकों की जांच करने पर एक महत्वपूर्ण अनुकूलन है।
अंतरिक्ष जटिलता है O(1), क्योंकि इसे आदिम चर से परे किसी भी अतिरिक्त डेटा संरचना की आवश्यकता नहीं है।
वैकल्पिक दृष्टिकोण
जावास्क्रिप्ट में मौलिकता की जांच के लिए एक वैकल्पिक वाक्यविन्यास है:
const isPrime = num => { for (let i = 2, s = Math.sqrt(num); i 1; }यह दृष्टिकोण अधिक संक्षिप्त एरो फ़ंक्शन सिंटैक्स का उपयोग करते हुए पिछले दृष्टिकोण की तरह ही समय और स्थान जटिलता प्राप्त करता है।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3