START এবং END دوটি ভেরিয়েবল দিয়ে একটি রেঞ্জ দেওয়া আছে। লক্ষ্য হল [START, END] রেঞ্জে কতগুলো প্রাইম সংখ্যা আছে তা বের করা।
রেঞ্জের প্রতিটি সংখ্যা i কে প্রাইম কিনা চেক করতে ২ থেকে i/2 পর্যন্ত যেকোনো সংখ্যা তা সম্পূর্ণ ভাগ করে কিনা দেখা হয়। যদি না করে, তবে সেটি প্রাইম।
ইনপুট: Start=1, End=20
আউটপুট: প্রাইম সংখ্যা: ৮
ব্যাখ্যা: ২, ৩, ৫, ৭, ১১, ১৩, ১৭, ১৯
ইনপুট: Start=100, End=200
আউটপুট: প্রাইম সংখ্যা: ২১
- START এবং END রেঞ্জ ভেরিয়েবল নেওয়া হয়।
countPrimes(int strt, int end)ফাংশন প্রাইমের কাউন্ট রিটার্ন করে।isprime(int num)হেল্পার ফাংশন দিয়ে প্রাইম চেক করা হয়।- রেঞ্জের সব সংখ্যায় লুপ চালিয়ে প্রাইম হলে count বাড়ানো হয়।
#includeusing namespace std; int isprime(int num){ if (num <= 1) return 0; for (int i = 2; i <= num/2; i++){ if (num % i == 0) return 0; } return 1; } int countPrimes(int strt, int end){ int count = 0; for(int i = strt; i <= end; i++){ if(isprime(i) == 1) count++; } return count; } int main(){ int START = 10, END = 20; cout << endl << "প্রাইম সংখ্যা: " << countPrimes(START, END); return 0; }
উপরোক্ত কোড রান করলে আউটপুট (১০-২০ রেঞ্জের জন্য):
প্রাইম সংখ্যা: ৪