Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> C++

C++ में रेंज [1, n] में k-वां सबसे छोटा संख्या ढूंढें जब सभी विषम संख्याएं हटा दी गई हों


इस समस्या में, हमें दो पूर्णांक मान 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

  1. - C++ में दी गई रेंज में विषम संख्या में भाजक वाली संख्याओं की गिनती

    रेंज [a, b] दी गई है। उन संख्याओं की गिनती करें जिनके भाजकों की संख्या विषम हो। केवल पूर्ण वर्ग संख्याओं के भाजक विषम संख्या में होते हैं। इसलिए रेंज में पूर्ण वर्गों की गिनती करें। सरल कार्यान्वयन: प्रत्येक संख्या के भाजक गिनें (O(n√n))। उदाहरण: रेंज 1 से 10 → 3 संख्याएं (1, 4, 9)। C++ कार्यान्वयन

  1. - C++ में दी गई सीमा में सबसे छोटा गुणनखंड K वाली सभी संख्याओं की गणना करें

    इस ट्यूटोरियल में, हम सबसे छोटे गुणनखंड K वाली सीमा में संख्याओं को खोजने के लिए एक प्रोग्राम पर चर्चा करेंगे।इसके लिए हमें एक सीमा [a,b] प्रदान की जाएगी। हमारा कार्य दी गई सीमा में उन संख्याओं की गिनती करना है जिनका सबसे छोटा गुणनखंड K है।उदाहरण#include <bits/stdc++.h> using namespace std; //

  1. - ठीक k विषम संख्याओं वाला सबसे लंबा सब-अर्रे खोजें C++ में

    मान लीजिए हमारे पास n तत्वों वाला एक ऐरे है। समस्या है सबसे लंबा सब-अर्रे खोजना जिसमें ठीक k विषम संख्याएं हों। तो यदि A = [2, 3, 4, 11, 4, 12, 7], और k = 1, तो आउटपुट 4 होगा, सब-अर्रे है [4, 11, 4, 12] इसे स्लाइडिंग विंडो का उपयोग करके हल कर सकते हैं। कार्य इस प्रकार है - max := 0, count := 0, और