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 दूरी पर सभी नोड्स प्रिंट करें

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

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

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

  1. C++ का उपयोग करके दिए गए नंबर तक जोड़ने वाले सभी संयोजन खोजें

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