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()মেথডটি পরবর্তী প্রাইম সংখ্যা খুঁজে বের করার জন্য ব্যবহৃত হয়।- এই মেথডগুলো প্রাইম সংখ্যা উৎপন্ন এবং বিশ্লেষণ করার জন্য খুবই কার্যকরী, বিশেষ করে যখন বড় সংখ্যার প্রাইম প্রয়োজন হয় (যেমন ক্রিপ্টোগ্রাফিতে)।
Read more