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

C++ में दिए गए N संख्याओं के ऐरे से K संख्याओं द्वारा बनाई गई सभी विशिष्ट पूर्णांक प्रिंट करना


इस समस्या में, हमें N पूर्णांकों का एक ऐरे और एक संख्या K दी गई है। हमारा कार्य उन सभी विशिष्ट संख्याओं को प्रिंट करना है जो ऐरे से किन्हीं K एलिमेंट्स को जोड़कर बनाई जा सकती हैं। किसी भी संख्या को K बार दोहराया जा सकता है।

उदाहरण

Input: array = {2, 5, 13, 9} K = 2 
Output: 2,7,15,11,10,18,14,26,22 
Explanation: 2 एलिमेंट्स जोड़े गए: 2+2=4, 2+5=7, 2+13=15, 2+9=11, 5+5=10, 5+13=18, 5+9=14, 13+13=26, 13+9=22, 9+9=18

इस समस्या को हल करने के लिए, हम ऐरे से K एलिमेंट्स के सभी संयोजन ढूंढेंगे। इसके लिए, हम रिकर्सन का उपयोग करेंगे जिसे संख्याएं जनरेट करने के लिए रिकर्सिवली कॉल किया जाएगा। डुप्लिकेट मानों से बचने के लिए, हम संख्याओं को एक सेट में संग्रहीत करेंगे।

उदाहरण

कोड हमारे समाधान का कार्यान्वयन दिखाएगा:

#include <bits/stdc++.h> 
using namespace std; 

set<int> distNumbers; 

void generateNumberFromArray(int count, int arr[], int n, int num, int k) { 
    if (k == count) { 
        distNumbers.insert(num); 
        return; 
    } 
    for (int i = 0; i < n; i++) { 
        generateNumberFromArray(count + 1, arr, n, num + arr[i], k); 
    } 
} 

void printDistinctIntegers(int k, int arr[], int n) { 
    generateNumberFromArray(0, arr, n, 0, k); 
    cout << "The " << distNumbers.size() << " distinct integers are:\n"; 
    while (!distNumbers.empty()) { 
        cout << *distNumbers.begin() << "\t"; 
        distNumbers.erase(*distNumbers.begin()); 
    } 
} 

int main() { 
    int arr[] = { 2, 5, 13, 9 }; 
    int n = 4; 
    int k = 2; 
    printDistinctIntegers(k, arr, n); 
    return 0; 
}

आउटपुट

The 9 distinct integers are - 4 7 10 11 14 15 18 22 26

  1. C++ में ऐरे में सभी अभाज्य संख्याओं का गुणनफल C++ में ऐरे में सभी अभाज्य संख्याओं का गुणनफल

    कुछ एलिमेंट्स के साथ एक इंटीजर ऐरे arr[] दिया गया है, कार्य उस ऐरे की सभी अभाज्य संख्याओं का गुणनफल निकालना है। अभाज्य संख्याएं वे संख्याएं होती हैं जो या तो 1 से विभाज्य होती हैं या स्वयं संख्या से, या एक अभाज्य संख्या वह संख्या है जो 1 और स्वयं संख्या को छोड़कर किसी अन्य संख्या से विभाज्य नहीं ह

  1. C++ में दिए गए स्रोत से गंतव्य तक सभी पथ प्रिंट करें C++ में दिए गए स्रोत से गंतव्य तक सभी पथ प्रिंट करें

    इस समस्या में हमें एक निर्देशित ग्राफ दिया गया है और हमें ग्राफ के स्रोत से गंतव्य तक सभी पथ प्रिंट करने हैं। निर्देशित ग्राफ एक ग्राफ है जिसमें किनारे शीर्ष a से b की ओर निर्देशित होते हैं। समस्या को समझने के लिए एक उदाहरण लेते हैं स्रोत = K गंतव्य = P आउटपुट: P यहां, हमने K से P तक के पथ ढूंढे

  1. - C++ में ऐरे के अंकों से बनी दो संख्याओं का न्यूनतम योग

    विवरण एक ऐरे दिया गया है जिसमें 0 से 9 तक के मान वाले अंक हैं। कार्य ऐरे के अंकों से बनी दो संख्याओं का न्यूनतम संभव योग ढूंढना है। कृपया ध्यान दें कि हमें दिए गए ऐरे के सभी अंकों का उपयोग करना है उदाहरण यदि इनपुट ऐरे है {7, 5, 1, 3, 2, 4} तो न्यूनतम योग 382 है, क्योंकि हम दो संख्या 135 और 247 बना