इस समस्या में, हमें दो पूर्णांक मान n और k दिए गए हैं। हमारा कार्य रेंज [1, n] में k-वां सबसे छोटा संख्या ढूंढना है जब सभी विषम संख्याएं हटा दी गई हों।
हमें रेंज [1, n] में k-वां सबसे छोटा संख्या ढूंढनी है जिसमें केवल सम मान हैं।
तो, रेंज [1, 5] से -> संख्याएं होंगी 2, 4।
समस्या को समझने के लिए एक उदाहरण लेते हैं,
इनपुट: n = 12, k = 4
आउटपुट: 8
व्याख्या:
रेंज [1, n] में सम तत्व: 2, 4, 6, 8, 10, 12
चौथा सबसे छोटा तत्व 8 है।
समाधान दृष्टिकोण:
समाधान सरल है क्योंकि हमें n तक सम संख्याओं से k-वां तत्व ढूंढना है। इसकी गणना सूत्र का उपयोग करके आसानी से की जा सकती है,
तत्व = 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