Prime Number Generation এর জন্য BigInteger এর ব্যবহার

Prime Number Checking এবং Generation - জাভা ম্যাথ প্যাকেজ (Java.math Package) - Java Technologies

358

BigInteger ক্লাসটি Java.math প্যাকেজের একটি অংশ এবং এটি অত্যন্ত বড় পূর্ণসংখ্যা বা arbitrary-precision integers নিয়ে কাজ করতে ব্যবহৃত হয়। Prime Number Generation (প্রাইম সংখ্যা তৈরি) করার জন্য BigInteger ক্লাসে অনেক শক্তিশালী মেথড রয়েছে যা বড় বড় সংখ্যার প্রাইম চেক এবং উৎপাদন করার জন্য সহায়ক।

BigInteger এর মাধ্যমে Prime Number Generation:

BigInteger ক্লাসে isProbablePrime(int certainty) নামক একটি মেথড রয়েছে যা বড় সংখ্যার প্রাইম (Prime) চেক করতে ব্যবহৃত হয়। এছাড়া, nextProbablePrime() মেথডটি ব্যবহার করে আপনি সহজেই পরবর্তী প্রাইম সংখ্যা উৎপন্ন করতে পারেন।

1. isProbablePrime(int certainty):

  • certainty হল একটি পূর্ণসংখ্যা যা প্রাইম চেকিংয়ের নির্ভরযোগ্যতা নির্ধারণ করে। সাধারণত certainty = 1 হলে এটি প্রাথমিক ভাবে প্রাইম চেক করে এবং নিশ্চিত করতে পারে, এবং certainty বৃদ্ধি করলে এটি আরও নির্ভরযোগ্য প্রাইম চেকিং করে।

2. nextProbablePrime():

  • এটি একটি BigInteger থেকে পরবর্তী সম্ভাব্য প্রাইম সংখ্যা প্রদান করে।

Prime Number Generation Example with BigInteger

উদাহরণ 1: বড় সংখ্যার জন্য Prime Number চেক করা এবং উৎপন্ন করা

import java.math.BigInteger;

public class PrimeNumberGenerationExample {
    public static void main(String[] args) {
        // Create a BigInteger object
        BigInteger bigNumber = new BigInteger("1000000000000000000000000000000");

        // Check if the number is a probable prime
        boolean isPrime = bigNumber.isProbablePrime(100);  // Certainty level set to 100
        System.out.println("Is the number prime? " + isPrime);

        // Generate the next probable prime number after the given number
        BigInteger nextPrime = bigNumber.nextProbablePrime();
        System.out.println("Next probable prime: " + nextPrime);
    }
}

Output:

Is the number prime? false
Next probable prime: 1000000000000000000000000000039

ব্যাখ্যা:

  • isProbablePrime(100): এটি 100-তম নির্ভরযোগ্যতা স্তরে সংখ্যাটিকে প্রাইম হিসেবে যাচাই করে। এখানে আমাদের প্রদত্ত বড় সংখ্যা প্রাইম নয়, সুতরাং এটি false ফেরত দিয়েছে।
  • nextProbablePrime(): এটি 1000000000000000000000000000000 এর পরবর্তী সম্ভাব্য প্রাইম সংখ্যা প্রাপ্ত করেছে, যা 1000000000000000000000000000039

Prime Number Generation using a Range (Multiple Primes)

ধরা যাক, আপনি একটি নির্দিষ্ট পরিসরের মধ্যে প্রাইম সংখ্যা তৈরি করতে চান, তাহলে আপনি BigInteger ব্যবহার করে সেভাবে সংখ্যাগুলি উৎপন্ন করতে পারেন।

উদাহরণ 2: নির্দিষ্ট পরিসরে প্রাইম সংখ্যা উৎপন্ন করা:

import java.math.BigInteger;

public class PrimeNumberInRangeExample {
    public static void main(String[] args) {
        // Define the range (starting and ending BigInteger)
        BigInteger start = new BigInteger("1000");
        BigInteger end = new BigInteger("1020");

        System.out.println("Prime numbers between " + start + " and " + end + ":");
        
        // Loop through the range and find the prime numbers
        BigInteger current = start;
        while (current.compareTo(end) <= 0) {
            if (current.isProbablePrime(100)) {
                System.out.println(current);
            }
            current = current.add(BigInteger.ONE);
        }
    }
}

Output:

Prime numbers between 1000 and 1020:
1009
1013
1019

ব্যাখ্যা:

  • আমরা start এবং end সীমানা নির্ধারণ করেছি এবং while লুপের মাধ্যমে BigInteger এর প্রতিটি সংখ্যার জন্য isProbablePrime(100) মেথড ব্যবহার করে চেক করেছি। যদি সংখ্যা প্রাইম হয়, তবে তা কনসোল আউটপুটে প্রিন্ট হয়েছে।

Prime Number Generation Using nextProbablePrime()

আপনি nextProbablePrime() মেথডটি ব্যবহার করে পরবর্তী প্রাইম সংখ্যা উৎপন্ন করতে পারেন এবং এর মাধ্যমে প্রাইম সিরিজ তৈরি করতে পারেন।

উদাহরণ 3: nextProbablePrime() দিয়ে একাধিক প্রাইম সংখ্যা উৎপন্ন করা:

import java.math.BigInteger;

public class GenerateMultiplePrimesExample {
    public static void main(String[] args) {
        // Starting number to find primes
        BigInteger number = new BigInteger("100");

        System.out.println("First 10 prime numbers after 100:");

        // Generate 10 prime numbers after 100
        int count = 0;
        while (count < 10) {
            number = number.nextProbablePrime();
            System.out.println(number);
            count++;
        }
    }
}

Output:

First 10 prime numbers after 100:
101
103
107
109
113
127
131
137
139
149

ব্যাখ্যা:

  • nextProbablePrime() মেথডটি পরবর্তী প্রাইম সংখ্যা উৎপন্ন করার জন্য ব্যবহৃত হয়েছে। এখানে 100 এর পরবর্তী প্রথম 10টি প্রাইম সংখ্যা তৈরি করা হয়েছে।

  • BigInteger এর isProbablePrime(int certainty) মেথডটি বড় সংখ্যার প্রাইম চেক করার জন্য ব্যবহৃত হয়। এখানে certainty নির্ধারণ করে প্রাইম চেকিংয়ের নির্ভরযোগ্যতা।
  • nextProbablePrime() মেথডটি পরবর্তী প্রাইম সংখ্যা খুঁজে বের করার জন্য ব্যবহৃত হয়।
  • এই মেথডগুলো প্রাইম সংখ্যা উৎপন্ন এবং বিশ্লেষণ করার জন্য খুবই কার্যকরী, বিশেষ করে যখন বড় সংখ্যার প্রাইম প্রয়োজন হয় (যেমন ক্রিপ্টোগ্রাফিতে)।
Content added By
Promotion

Are you sure to start over?

Loading...