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

C++ में दिए गए नंबर को बनाने वाले पॉइंट्स के सभी संयोजन प्रिंट करना


इस समस्या में, हमें कुल स्कोर n दिया गया है। उन सभी बास्केटबॉल पॉइंट्स के संयोजन प्रिंट करें जो 1, 2, और 3 हैं और जिनका कुल स्कोर n है।

उदाहरण

Input: 4 
Output: 1 1 1 1 1 1 2 1 2 1 1 3 2 1 1 2 2 3 1

इस समस्या को हल करने के लिए, हम रिकर्सन का उपयोग करेंगे। और शेष मान n-s के लिए फिक्स और रिकर्स करेंगे, जहां s स्कोर है। यदि संयोजन n तक जुड़ता है, तो संयोजन प्रिंट करें।

उदाहरण

कोड हमारे कोड के कार्यान्वयन को दिखाता है:

#define MAX_POINT 3 
#define ARR_SIZE 100 
#include <bits/stdc++.h> 
using namespace std; 

void printScore(int arr[], int arr_size) { 
    int i; 
    for (i = 0; i < arr_size; i++) 
        cout << arr[i] << " "; 
    cout << endl; 
} 

void printScoreCombination(int n, int i) { 
    static int arr[ARR_SIZE]; 
    if (n == 0) { 
        printScore(arr, i); 
    } else if(n > 0) { 
        int k; 
        for (k = 1; k <= MAX_POINT; k++) { 
            arr[i] = k; 
            printScoreCombination(n-k, i+1); 
        } 
    } 
} 

int main() { 
    int n = 4; 
    cout << "Different compositions formed by 1, 2 and 3 of " << n << " are\n"; 
    printScoreCombination(n, 0); 
    return 0; 
}

आउटपुट

Different compositions formed by 1, 2 and 3 of 4 are 
1 1 1 1 
1 1 2 
1 2 1 
1 3 
2 1 1 
2 2 
3 1

  1. C++ में दिए गए नोड से दूरी K पर सभी नोड्स प्रिंट करना C++ में दिए गए नोड से दूरी K पर सभी नोड्स प्रिंट करना

    इस समस्या में, हमें एक बाइनरी ट्री, एक टारगेट नोड और एक पूर्णांक K दिया गया है। हमें ट्री के उन सभी नोड्स को प्रिंट करना है जो टारगेट नोड से दूरी K पर हैं। बाइनरी ट्री बाइनरी ट्री एक विशेष ट्री है जिसके प्रत्येक नोड में अधिकतम दो नोड्स होते हैं (एक/दो/कोई नहीं)। उदाहरण K = 2 टारगेट नोड: 9 आउटपुट

  1. - C++ में दी गई संख्या के अंकों का उपयोग करके बनने वाली अधिकतम संख्या ज्ञात करें

    मान लीजिए हमारे पास n अंकों की एक संख्या है। हमें उस संख्या के सभी अंकों का उपयोग करके प्राप्त की जा सकने वाली अधिकतम संख्या ढूंढनी है। इसलिए यदि संख्या 339625 है, तो अधिकतम संख्या 965332 हो सकती है। समस्या से, हम देख सकते हैं कि हम आसानी से अंकों को गैर-बढ़ते क्रम में सॉर्ट कर सकते हैं, फिर उन्हें

  1. - C++ में दिए गए नंबर तक जुड़ने वाले सभी संयोजन ढूंढना

    मान लीजिए हमारे पास एक धनात्मक संख्या n है। हमें उन सभी धनात्मक संख्याओं के संयोजन ढूंढने हैं जो उस संख्या तक जुड़ते हैं। यहां हम केवल संयोजन चाहते हैं, क्रमचय नहीं। n=4 के लिए संयोजन होंगे: [1,1,1,1], [1,1,2], [2,2], [1,3], [4] हम इसे रिकर्सन का उपयोग करके हल करेंगे। हमारे पास संयोजन स्टोर करने के