এই টিউটোরিয়ালে, আমরা একটি প্রোগ্রাম লিখব যা প্রাকৃতিক সংখ্যাগুলো থেকে কিছু সংখ্যা বাদ দিয়ে K-তম সর্বনিম্ন উপাদান বের করবে।
আমাদের একটি অ্যারে এবং k মান দেওয়া আছে। প্রদত্ত অ্যারেতে উপস্থিত সব সংখ্যাগুলো প্রাকৃতিক সংখ্যাগুলো থেকে বাদ দিতে হবে। তারপর বাকি প্রাকৃতিক সংখ্যাগুলো থেকে K-তম সর্বনিম্ন সংখ্যা বের করতে হবে।
সমস্যা সমাধানের ধাপসমূহ
- অ্যারে এবং k ইনিশিয়ালাইজ করুন।
- একটি অ্যারে ইনিশিয়ালাইজ করুন এবং সব উপাদান ০ দিয়ে ফিল করুন, শুধু প্রদত্ত অ্যারেতে থাকা উপাদানগুলো ১ রাখুন।
- প্রদত্ত অ্যারের সাইজ পর্যন্ত একটি লুপ চালান।
- যদি বর্তমান উপাদান উপরের অ্যারেতে না থাকে, তবে k-এর মান ১ কমান।
- যদি k শূন্য হয়, তবে বর্তমান মান রিটার্ন করুন।
- ০ রিটার্ন করুন।
উদাহরণ কোড
#include <bits/stdc++.h>
#define MAX 1000000
using namespace std;
int smallestNumber(int arr[], int n, int k) {
int flag[MAX];
memset(flag, 0, sizeof flag);
for (int i = 0; i < n; i++) {
flag[arr[i]] = 1;
}
for (int i = 1; i < MAX; i++) {
if (flag[i] != 1) {
k--;
}
if (!k) {
return i;
}
}
return 0;
}
int main() {
int k = 2;
int arr[] = { 3, 5 };
cout << smallestNumber(arr, 2, k) << endl;
return 0;
}
আউটপুট
উপরের কোডটি রান করলে নিচের ফলাফল পাওয়া যাবে:
2
নিষ্কর্ষ
এই টিউটোরিয়াল সম্পর্কে আপনার যেকোনো প্রশ্ন থাকলে কমেন্ট সেকশনে জানাতে পারেন।