এই সমস্যায়, আমাদের n এবং k দুটি পূর্ণসংখ্যার মান দেওয়া হয়েছে। আমাদের কাজ হল সমস্ত বিজোড় সংখ্যা মুছে ফেলা হলে পরিসীমার মধ্যে kth ক্ষুদ্রতম সংখ্যা [1, n] খুঁজে বের করা।
আমাদের [1, n] পরিসরে kth ক্ষুদ্রতম সংখ্যাটি খুঁজে বের করতে হবে যাতে শুধুমাত্র জোড় মান রয়েছে।
সুতরাং, পরিসর থেকে [1, 5] -> সংখ্যা হবে 2, 4।
সমস্যাটি বোঝার জন্য একটি উদাহরণ নেওয়া যাক,
ইনপুট: n =12, k =4
আউটপুট: ৮
ব্যাখ্যা:
এমনকি পরিসরের উপাদানগুলি [1, n] :2, 4, 6, 8, 10, 12
4র্থ ক্ষুদ্রতম উপাদান হল 8.
সমাধান পদ্ধতি:
সমাধানটি সহজ কারণ আমাদের জোড় সংখ্যা থেকে n পর্যন্ত kth উপাদান খুঁজে বের করতে হবে। এটি সূত্র ব্যবহার করে সহজেই গণনা করা যেতে পারে,
উপাদান =2*k.
আমাদের সমাধানের কাজ চিত্রিত করার জন্য প্রোগ্রাম,
উদাহরণ
#include <bits/stdc++.h> using namespace std; int main() { int n = 124, k = 12; if(n > 2*k){ cout<<"kth smallest number is "<<(2 * k); } else cout<<"kth smallest number cannot be found"; return 0; }
আউটপুট
kth smallest number is 24