এই টিউটোরিয়ালে, আমরা একটি প্রোগ্রাম লিখব যা K-তম বুম সংখ্যা (Boom Number) বের করবে।
যে সংখ্যাগুলো শুধু ২ এবং ৩ দিয়ে গঠিত, সেগুলোকে বুম সংখ্যা বলা হয়।
সমস্যা সমাধানের ধাপসমূহ
- k-এর মান ইনিশিয়ালাইজ করুন।
- স্ট্রিং টাইপের একটি কিউ (queue) ইনিশিয়ালাইজ করুন।
- কিউতে খালি স্ট্রিং পুশ করুন।
- একটি কাউন্টার ভেরিয়েবল ০ দিয়ে ইনিশিয়ালাইজ করুন।
- কাউন্টার k-এর চেয়ে ছোট বা সমান থাকা পর্যন্ত একটি লুপ চালান।
- কিউর ফ্রন্ট (front) বের করুন।
- কিউ থেকে এলিমেন্টটি পপ করুন।
- ফ্রন্টটি একটি ভেরিয়েবলে সংরক্ষণ করুন।
- ফ্রন্টের সাথে ২ যুক্ত করে কিউতে পুশ করুন।
- কাউন্টার ইনক্রিমেন্ট করুন এবং k-এর সাথে সমান কিনা যাচাই করুন।
- যদি সমান হয়, তবে মান প্রিন্ট করে ব্রেক করুন।
- ফ্রন্টের সাথে ৩ যুক্ত করে কিউতে পুশ করুন।
- কাউন্টার ইনক্রিমেন্ট করুন এবং k-এর সাথে সমান কিনা যাচাই করুন।
- কাউন্টার ইনক্রিমেন্ট করুন এবং k-এর সাথে সমান কিনা যাচাই করুন।
উদাহরণ কোড
#include<bits/stdc++.h>
using namespace std;
void findKthBoomNumber(long long k) {
queue<string> queue;
queue.push("");
long long count = 0;
while (count <= k) {
string numberOne = queue.front();
queue.pop();
string numberTwo = numberOne;
queue.push(numberOne.append("2"));
count++;
if (count == k) {
cout << numberOne << endl;
break;
}
queue.push(numberTwo.append("3"));
count++;
if (count == k) {
cout << numberTwo << endl;
break;
}
}
}
int main() {
long long k = 45;
findKthBoomNumber(k);
return 0;
}
আউটপুট
উপরের কোডটি রান করলে নিচের ফলাফল পাওয়া যাবে:
23332
নিষ্কর্ষ
এই টিউটোরিয়াল সম্পর্কে আপনার যেকোনো প্রশ্ন থাকলে কমেন্ট সেকশনে জানাতে পারেন।