আমাদের যেকোনো দৈর্ঘ্যের একটি স্ট্রিং দেওয়া আছে যাতে বড় এবং ছোট হাতের অক্ষর রয়েছে, এবং আমাদের কাজ হল সেই অক্ষরগুলির সংখ্যা গণনা করা যাদের ASCII মান প্রাইম।
বড় হাতের অক্ষর [A-Z]-এর ASCII মান ৬৫ থেকে ৯০ এবং ছোট হাতের অক্ষর [a-z]-এর ASCII মান ৯৭ থেকে ১২২।
উদাহরণ
ইনপুট string str = 'Aebg' আউটপুট গণনা: 2
ব্যাখ্যা − A-এর ASCII মান ৬৫ যা প্রাইম নয় তাই গণনা হবে না, e-এর ১০১ যা প্রাইম তাই গণনা হবে, b-এর ৬৬ যা প্রাইম নয়, g-এর ১০৩ যা প্রাইম তাই গণনা হবে। মোট ২টি অক্ষরের ASCII মান প্রাইম।
ইনপুট − string str = 'GOXFH' আউটপুট − গণনা: 2
ব্যাখ্যা − G-এর ASCII ৭১ (প্রাইম), O-এর ৭৯ (প্রাইম), X-এর ৮৮ (প্রাইম নয়), F-এর ৭০ (প্রাইম নয়), H-এর ৭২ (প্রাইম নয়)। মোট ২টি অক্ষরের ASCII মান প্রাইম।
প্রোগ্রামে ব্যবহৃত পদ্ধতি
- স্ট্রিং ইনপুট নিয়ে
strভেরিয়েবলে সংরক্ষণ করুন length()ফাংশন দিয়ে স্ট্রিং দৈর্ঘ্য গণনা করুন- প্রাইম মান চেক করার একটি ফাংশন ঘোষণা করুন যা প্রতিটি অক্ষরের সাথে মিলিয়ে চেক করবে
i = 0থেকে স্ট্রিং দৈর্ঘ্য পর্যন্ত লুপ ট্রাভার্স করুন- লুপের ভিতরে চেক করুন ট্রাভার্স করা অক্ষরের ASCII মান প্রাইম কিনা। যদি প্রাইম হয় তবে
count1 বৃদ্ধি করুন - মোট
countমান ফেরত দিন - ফলাফল প্রিন্ট করুন
উদাহরণ কোড
#include <iostream>
#include <vector>
using namespace std;
#define max_val 257
// স্ট্রিংতে প্রাইম অক্ষর খুঁজে বের করার ফাংশন
int countprime(string str) {
// SIEVE ব্যবহার করে 'max_val'-এর চেয়ে ছোট বা সমান প্রাইম সংখ্যা খুঁজুন
// একটি বুলিয়ান অ্যারে "prime[0..n]"। prime[i] অবশেষে false হবে
// যদি i প্রাইম না হয়, অন্যথায় true।
vector<bool> prime(max_val + 1, true);
// 0 এবং 1 প্রাইম নয়
prime[0] = false;
prime[1] = false;
for (int p = 2; p * p <= max_val; p++) {
// যদি prime[p] পরিবর্তন না হয়, তবে এটি প্রাইম
if (prime[p] == true) {
// p-এর সব গুণক আপডেট করুন
for (int i = p * 2; i <= max_val; i += p) {
prime[i] = false;
}
}
}
int result = 0;
// পুরো স্ট্রিং ট্রাভার্স করুন
for (int i = 0; i < str.length(); ++i) {
if (prime[int(str[i])]) {
result++;
}
}
return result;
}
// main ফাংশন
int main() {
string str = "tutorialspoint";
// প্রয়োজনীয় উত্তর প্রিন্ট
cout << "count is: " << countprime(str);
return 0;
}
আউটপুট
যদি আমরা উপরের কোডটি রান করি তবে নিচের আউটপুট পাব −
count is: 1