কম্পিউটার টিউটোরিয়াল

জাভাতে অ্যারেতে সবচেয়ে বড় এবং ছোট প্রাইম সংখ্যার পার্থক্য বের করা

সমস্যা বিবরণ

একটি পূর্ণসংখ্যার অ্যারে দেওয়া আছে যেখানে সব উপাদান ১০০০০০০-র চেয়ে ছোট। অ্যারেতে সর্বোচ্চ এবং সর্বনিম্ন প্রাইম সংখ্যার পার্থক্য বের করতে হবে।

উদাহরণ

Array: [ 1, 2, 3, 4, 5 ] 
Largest Prime Number = 5 
Smallest Prime Number = 2 
Difference = 5 - 2 = 3

সমাধান

Sieve of Eratosthenes পদ্ধতি ব্যবহার করা হয়েছে, যা একটি দক্ষ উপায় যাতে দেওয়া সংখ্যার চেয়ে ছোট সব প্রাইম সংখ্যা বের করা যায়। তারপর সবচেয়ে বড় এবং ছোট প্রাইম সংখ্যা চিহ্নিত করে প্রয়োজনীয় পার্থক্য বের করা হয়।

জাভা প্রোগ্রাম উদাহরণ

public class JavaTester { 
    static int MAX = 1000000; 
    static boolean prime[] = new boolean[MAX + 1]; 
    public static void runSieveOfEratosthenes(){ 
        // reset prime flags to be true 
        for(int i=0; i < MAX+1; i++) prime[i] = true; 
        // set 1 as non-prime 
        prime[1] = false; 
        for (int p = 2; p * p <= MAX; p++) { 
            // If prime[p] is not modified, then it is a prime 
            if (prime[p]) { 
                // Update all multiples of 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++) { 
            // check if the number is prime or not 
            if (prime[arr[i]] == true) { 
                // set the max and min values 
                if (arr[i] > max) max = arr[i]; 
                if (arr[i] < min) min = arr[i]; 
            } 
        } 
        return max - min; 
    } 
    public static void main(String args[]){ 
        // run the sieve 
        runSieveOfEratosthenes(); 
        int arr[] = { 1, 2, 3, 4, 5 }; 
        System.out.println(difference(arr)); 
    } 
}

আউটপুট

3
  1. জাভাতে Integer এবং int-এর পার্থক্য কী?

  2. জাভাতে length এবং length()-এর পার্থক্য কী?

  3. JRE এবং JDK-এর পার্থক্য

  4. জাভা এবং জাভাস্ক্রিপ্টের মধ্যে পার্থক্য কী?