Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Java

जावा में सरणी में सबसे बड़ी और सबसे छोटी अभाज्य संख्या के बीच अंतर

समस्या कथन

पूर्णांकों की एक दी गई सरणी जहां सभी तत्व 1000000 से कम हैं। सरणी में सबसे बड़ी और सबसे छोटी अभाज्य संख्या के बीच का अंतर ज्ञात करें।

उदाहरण

सरणी: [ 1, 2, 3, 4, 5 ] 
सबसे बड़ी अभाज्य संख्या = 5 
सबसे छोटी अभाज्य संख्या = 2 
अंतर = 5 - 2 = 3

समाधान

एराटोस्थनीज की छलनी (Sieve of Eratosthenes) दृष्टिकोण का उपयोग करें, जो दी गई संख्या से छोटी सभी अभाज्य संख्याओं को खोजने का एक कुशल तरीका है। फिर हम आवश्यक अंतर प्राप्त करने के लिए सबसे बड़ी और सबसे छोटी अभाज्य संख्या का पता लगाएंगे।

उदाहरण

आवश्यक आउटपुट खोजने के लिए जावा में निम्न प्रोग्राम है।

public class JavaTester { 
    static int MAX = 1000000; 
    static boolean prime[] = new boolean[MAX + 1]; 
    
    public static void runSieveOfEratosthenes(){ 
        // अभाज्य फ्लैग्स को true पर रीसेट करें
        for(int i=0; i < MAX+1; i++) prime[i] = true; 
        // 1 को गैर-अभाज्य के रूप में सेट करें
        prime[1] = false; 
        for (int p = 2; p * p <= MAX; p++) { 
            // यदि prime[p] संशोधित नहीं है, तो यह एक अभाज्य संख्या है
            if (prime[p]) { 
                // p के सभी गुणकों को अपडेट करें
                for (int i = p * 2; i <= MAX; i += p) prime[i] = false; 
            } 
        } 
    } 
    
    public static int difference(int arr[]){ 
        int min = MAX + 2; 
        int max = -1; 
        for (int i = 0; i < arr.length; i++) { 
            // जांचें कि संख्या अभाज्य है या नहीं
            if (prime[arr[i]] == true) { 
                // मैक्स और मिन मान सेट करें
                if (arr[i] > max) max = arr[i]; 
                if (arr[i] < min) min = arr[i]; 
            } 
        } 
        return max - min; 
    } 
    
    public static void main(String args[]){ 
        // छलनी चलाएं
        runSieveOfEratosthenes(); 
        int arr[] = { 1, 2, 3, 4, 5 }; 
        System.out.println(difference(arr)); 
    } 
}

आउटपुट

3
  1. - Java में length और length() में क्या अंतर है?

    length Java में एक ऐरे का इंस्टेंस वेरिएबल है जबकि length() String क्लास का मेथड है। length एक ऐरे एक ऑब्जेक्ट है जो एक ही टाइप के मानों की निश्चित संख्या रखता है। ऐरे में length वेरिएबल ऐरे की लंबाई लौटाता है यानी ऐरे में स्टोर्ड एलिमेंट्स की संख्या। एक बार ऐरे इनिशियलाइज़ हो जाने पर, इसकी लंबाई

  1. JRE और JDK में क्या अंतर है? JRE और JDK में क्या अंतर है?

    JDK (Java Development Kit) में Java एप्लिकेशन विकसित करने और चलाने के लिए आवश्यक सभी टूल्स और लाइब्रेरीज़ होती हैं, जिसमें JRE भी शामिल है। JRE (Java Runtime Environment) एक सॉफ्टवेयर है जिसमें JVM और Java प्रोग्राम चलाने के लिए आवश्यक अन्य लाइब्रेरीज़ होती हैं।

  1. जावा और जावास्क्रिप्ट में क्या अंतर है? जावा और जावास्क्रिप्ट में क्या अंतर है?

    वेब डेवलपर जेरेमी कीथ ने 2009 में कहा था, जावा का जावास्क्रिप्ट से वही रिश्ता है जो हैम का हैम्स्टर से। इस उपमा की सटीकता पर बहस हो सकती है, लेकिन इसके पीछे की भावना ठोस है: जावा और जावास्क्रिप्ट, एक सामान्य भाषाई जड़ साझा करने के बावजूद, दो बिल्कुल अलग प्रोग्रामिंग भाषाएं हैं। वर्षों में ये थोड़ा ओ