প্রাইম নম্বর (Prime Number) = ১ এর চেয়ে বড় এবং শুধু ১ এবং নিজের দ্বারা বিভাজ্য। প্রথম প্রাইমগুলো: ২, ৩, ৫, ৭, ১১, ১৩, ১৭...।
উদাহরণ কোড
#include <iostream>
using namespace std;
void primeNumbers(int lbound, int ubound) {
int flag, i;
while (lbound <= ubound) {
flag = 0;
for (i = 2; i <= lbound / 2; i++) {
if (lbound % i == 0) {
flag = 1;
break;
}
}
if (flag == 0)
cout << lbound << " ";
lbound++;
}
}
int main() {
int lowerbound = 20, upperbound = 50;
cout << "Prime numbers between " << lowerbound << " and " << upperbound << " are: ";
primeNumbers(lowerbound, upperbound);
return 0;
}
আউটপুট
Prime numbers between 20 and 50 are: 23 29 31 37 41 43 47
ব্যাখ্যা
primeNumbers(lbound, ubound)ফাংশন ইন্টারভ্যাল স্ক্যান করে।- প্রতিটি নম্বরের জন্য
flag = 0। ২ থেকে n/2 পর্যন্ত লুপ: যদি বিভাজ্য হয়,flag=1, ব্রেক। flag == 0হলে প্রাইম → প্রিন্ট।lbound++দিয়ে পরবর্তী নম্বর।
অপ্টিমাইজেশন: লুপ লিমিট sqrt(lbound) করলে দ্রুত হবে। এছাড়া ২ ছাড়া জোড় নম্বর স্কিপ করা যাবে।